C# 深度复制父级及其子级,浅复制子级。父级引用
我有一个父母,上面有孩子的名单。我也有一份父母的名单,但我真的没有必要去调查 我需要每个子对象都知道其父对象,因此我为每个子对象设置了父对象引用属性。我需要能够深度复制父对象,这也将深度复制其所有子对象 我正在使用C# 深度复制父级及其子级,浅复制子级。父级引用,c#,serialization,C#,Serialization,我有一个父母,上面有孩子的名单。我也有一份父母的名单,但我真的没有必要去调查 我需要每个子对象都知道其父对象,因此我为每个子对象设置了父对象引用属性。我需要能够深度复制父对象,这也将深度复制其所有子对象 我正在使用DataContractSerializer进行深度复制。我的问题是,这将采取每个孩子的参考父母和深度复制,也造成重复的父母各地;或者至少从测试来看,我认为这就是发生的事情 我想它应该是一些简单的DataMember标记来强制一个特定于成员的浅拷贝,但是找不到任何东西 更重要的是,我不
DataContractSerializer
进行深度复制。我的问题是,这将采取每个孩子的参考父母和深度复制,也造成重复的父母各地;或者至少从测试来看,我认为这就是发生的事情
我想它应该是一些简单的DataMember
标记来强制一个特定于成员的浅拷贝,但是找不到任何东西
更重要的是,我不能让父对象IsReference=true
,因为在我的完整对象结构中,他也可以是祖父母的孩子——在这种情况下,我需要深度复制他
我尝试过其他方法,比如使用索引而不是类引用来返回子.parent
,但这会引发其他基本问题,这将破坏总体设计
有人能帮忙吗?事实证明,我毕竟可以使用“IsReference=True”。我担心它会破坏类是列表中的一个孩子的情况,但在这些情况下,它仍然会进行深度复制。在任何其他情况下,如果它只是一个引用,它只是复制引用
太好了