【发布时间】:2011-12-05 15:37:23
【问题描述】:
我有 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 我可以有例如B型20件。 在 col1 我有例如类型 A 的 2 项。它们中的每一项都有对 col2 集合的类型 B 的 n 项的引用。
如何序列化和反序列化这些对象,以便在反序列化时恢复引用?
首选 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
这只会遍历 col1 中 A 的所有对象,然后遍历 B 的所有对象,并在 col2 中搜索具有相同值的 myStringProp 的对象。
所以任何更清洁的解决方案将不胜感激:)
那么有更清洁的解决方案吗?
【问题讨论】:
标签: vb.net serialization xml-serialization deserialization