0

我有一个父母,它有一个孩子的名单。我也有一份父母名单,但没有必要深入。

我需要每个孩子都知道它的父母,所以我为每个孩子设置了一个父母参考属性。我需要能够深度复制父级,这也将深度复制它的所有子级。

我正在使用DataContractSerializer我的深层副本。我的问题是这会占用每个孩子的参考父母和深层复制 - 导致重复的父母到处都是;或者至少从测试中我认为这就是发生的事情。

我认为这将是一些简单DataMember的标签来强制成员特定的浅拷贝,但找不到任何东西。

再补充一点,我不能成为父母IsReference = true,因为在我的完整对象结构中,他也可以是祖父母的孩子——在这种情况下,我需要深度复制他。

我已经尝试过其他方法,例如使用索引而不是类引用来返回,child.parent但这会引发其他基本问题,这将破坏整体设计。

任何人都可以帮忙吗?

4

1 回答 1

0

事实证明我毕竟可以使用“IsReference=True”。我担心它会破坏类是列表中的孩子的情况,但在这些情况下,它仍然会进行深层复制。任何其他只是引用的情况,它只是复制引用。

完美的。

于 2013-07-08T13:35:35.997 回答