Имам клас VB, който съдържа масив от други класове VB. След това сериализирам обект в xml
Private Sub Serialize(myObject As Object, myObjectType As Type)
Dim ser As New XmlSerializer(myObjectType)
Dim myWriter As StreamWriter = New StreamWriter("D:DataTestmyXMLFile.xml")
ser.Serialize(myWriter, myObject)
myWriter.Close()
End Sub
моите класове:
Public Class mySerializableClass
Public Property Name As String
Public Property Adresse As String
Public Property IdF As Integer
Public Property ISC() As myInnerSerializableClass
End Class
Public Class myInnerSerializableClass
Public Property CNSS As String
Public Property nom As String
End Class
Досега всичко работи добре (и моите xml файлове се създават). Но когато заменя
Public Property ISC() As myInnerSerializableClass
с
Public Property ISC() As ICollection(Of myInnerSerializableCass)
Получавам аромат, който гласи: Възникна грешка при отразяване на тип "myCustomNameSpace.mySerializableClass"
Послепис Нуждая се първо от ICollection за EF код или първо намерете начин да работите с масиви в EF кода.
Отговори:
0 за отговор № 1Прилагане на XmlArray
и XmlArrayItem
атрибути на имота, така че serializer знае, че собствеността трябва да се сериализира като списък.
<XmlArray("ISC"), XmlArrayItem("myInnerSerializableClass")> _
Public Property ISC() As ICollection(Of myInnerSerializableCass)
Прочетете още