У меня есть коллекция из 2 разных объектов.
Допустим, у меня есть следующие два объекта
Private col1 as Collection(Of A)
и Private col2 as Collection(Of B)
Но объект типа Aимеет коллекцию типа B в качестве атрибута.
, поэтому A выглядит так
Public Class A
Public Property myStringProp() as string
Public Property colB() as Collection(Of B)
End Class
, тогда как B выглядит как
Public Class B
Public Property myStringProp() as string
End Class
Так что в col2 я могу иметь, например,20 предметов типа B. В col1 у меня есть, например, 2 предмета типа A. Каждый из них имеет n ссылок на предметы типа B на коллекцию col2.
Как я могу сериализовать и десериализовать эти объекты так, чтобыссылки будут восстановлены при десериализации?
Предпочтительная сериализация с XML.
Я пытался использовать DataContractSerializer, но не знаю, где и как его использовать.
Редактировать:
ОК.Я бы смог решить их вручную.Но мне не нравится способ:
For Each itema As A In col1
For Each itemb As B In itema.colB
For Each objB In col2
If itemb.myStringProp = objB.myStringProp Then
itemb = objB
End If
Next
Next
Next
Это будет просто цикл по всем объектам A в col1, а затем цикл по всем объектам B и поиск объекта в col2 с тем же значением для myStringProp.
Значит, было бы полезно любое более чистое решение:)
Итак, какие-нибудь более чистые решения?