J'ai une classe VB qui contient un tableau d'autres classes VB. Ensuite, je sérialiser un objet en XML à l'aideComment sérialiser une classe (avec ICollection)
Private Sub Serialize(myObject As Object, myObjectType As Type)
Dim ser As New XmlSerializer(myObjectType)
Dim myWriter As StreamWriter = New StreamWriter("D:\DataTest\myXMLFile.xml")
ser.Serialize(myWriter, myObject)
myWriter.Close()
End Sub
mes classes:
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
Untill maintenant tout fonctionne bien (et mes fichiers XML est créé). Mais quand je remplacerai
Public Property ISC() As myInnerSerializableClass
Avec
Public Property ISC() As ICollection(Of myInnerSerializableCass)
je reçois un ARROR qui lit: Une erreur est survenue lors de la réflexion du type 'myCustomNameSpace.mySerializableClass'
post-scriptum J'ai d'abord besoin de l'ICollection pour le code EF, ou pour trouver un moyen de travailler avec des tableaux dans le code EF en premier.
L'erreur persiste, je pense que le problème est que ICollection est une interface. –
@IsmailKarchi: [** Yup, vous avez raison à ce sujet **] (http://stackoverflow.com/a/15089253/3740093). Y a-t-il un autre type de collection/liste que vous pouvez utiliser? - De plus, devez-vous utiliser la sérialisation XML? Sinon, la sérialisation binaire est une alternative. –
L'objectif derrière ceci est de créer un fichier XML à partir de données SQL. Savez-vous une solution de contournement pour remplacer ICollection dans la classe (nécessaire pour le code EntityFrameWork d'abord) –