我正在尝试通过DataContract. 该对象有一个子对象列表,这些子对象又有自己的列表(我们称它为树的叶子)。这些叶子,例如主对象列表的第一个元素,可以从列表的其他元素到达(引用相同)。结果是一个相当复杂的图,其中有许多连接。
在反序列化期间,列表的每个元素都有自己的叶子,即 如果在源对象中它是同一张表,则引用将丢失,然后在反序列化后它只是一个副本。
或多或少像这样
A A
/ \ / \
B C ====> B C
\ / | |
D D D[копия]
(这是一个非常简化的图表)
我试图为所有课程开处方DataContract(IsReference = true),所以,以防万一,它没有帮助。
除了“手动”构建重复源对象的结构之外,是否有“更快”的方法来正确反序列化?
谢谢你。
创建序列化程序时,将其设置为
PreserveObjectReferences = true.您也可以使用
NetDataContractSerializer.