2010-07-16 2 views
0

입니다. 'ProblemType'유형을 직렬화 할 수 없습니다. DataContractAttribute 특성으로 표시하고 DataMemberAttribute 특성을 사용하여 직렬화 할 모든 구성원을 표시하는 것이 좋습니다. 다른 지원되는 유형은 Microsoft .NET Framework 설명서를 참조하십시오.WCF 직렬화 문제입니다. 오류는 형식이 DataContractAttribute로 표시되어야한다고 말합니다. 그러나 이미

저는 수업이 거의 없습니다. 그것을 포함하는 클래스를 직렬화하려고하면 문제 유형이 표시되어 있어도 데이터 계약 속성 오류가 발생합니다.

Imports System 
Imports System.Runtime.Serialization 

<DataContractAttribute()> _ 
Public Class ProblemType 
    Implements ICloneable 

    private _serializablePropertyBacking as byte 

    <DataMemberAttribute()> _ 
    Public Property SerializableProperty() As Byte 
    Get 
     Return _serializablePropertyBacking 
    End Get 
    Set(ByVal Value As Byte) 
     _serializablePropertyBacking = Value 
    End Set 
    End Property 

    Public Sub New() 

    End Sub 

    Public Sub New(byval option as boolean) 
     If option Then 
      _serializableProperty = 1 
     End If 
    End Sub 
End Class 

이 오류를 해결하려면 어떻게해야합니까?

답변

0

백업 필드를 사용하는 속성이 아닌 데이터 계약 속성으로 지정해야합니다.

Imports System 
Imports System.Runtime.Serialization 

<DataContractAttribute()> _ 
Public Class ProblemType 
    Implements ICloneable 

    <DataMemberAttribute()> _ 
    private _serializablePropertyBacking as byte 


    Public Property SerializableProperty() As Byte 
    Get 
     Return _serializablePropertyBacking 
    End Get 
    Set(ByVal Value As Byte) 
     _serializablePropertyBacking = Value 
    End Set 
    End Property 

    Public Sub New() 

    End Sub 

    Public Sub New(byval option as boolean) 
     If option Then 
      _serializableProperty = 1 
     End If 
    End Sub 
End Class 
+0

여전히 같은 오류가 발생합니다. – jkerouac

+0

전체 클래스를 직렬화 가능으로 표시하십시오. – flayn