我有一个父母,它有一个孩子的列表。我也有父母的名单,但没有真正的需要进入。
我需要每个孩子都知道它的父母,所以我为每个孩子设置一个父参考属性。我需要能够深层复制父级,这也会深深复制其所有子级。
我正在使用DataContractSerializer
作为我的深层副本。我的问题是这将带走每个孩子的引用父母和深层副本 - 导致重复的父母到处都是;或者至少从测试中我认为这就是发生的事情。
我认为这是一个简单的DataMember
标签来强制成员特定的浅拷贝,但找不到任何东西。
只是为了补充一点,我不能创建父IsReference = true
因为在我的完整对象结构中他也可能是祖父母的孩子 - 在这种情况下我需要深刻复制他。
我尝试过其他方法,例如使用索引而不是类引用来回到child.parent
,但这会引发其他基本问题,从而破坏整体设计。
有人可以帮忙吗?
答案 0 :(得分:0)
结果我毕竟可以使用“IsReference = True”。我担心它会打破列表中的一个孩子的情况,但在这些情况下它仍然会进行深层复制。在任何其他仅作为参考的情况下,它只是复制参考。
完美。