4

我有一个简单的树结构,其中包含以下内容

public class MyTree {
 public MyTree Parent { get; set;}
 public List<MyTree> Children {get; set;}
[...]
}

目前这门课要复杂得多,但我认为这是我的问题的重要部分。该代码已经很老了,我不能只更改完整的结构,因为它用于我必须维护的项目的许多领域。

我的主要问题是我无法序列化该对象。(我从根对象开始序列化)我收到以下消息:

序列化 MyTree 类型的对象时检测到循环引用

似乎很清楚为什么会发生这种情况,因为我已经连接了孩子和父母。

但是我该如何解决这个问题呢?例如,我可以禁用父属性的序列化吗?

4

1 回答 1

3

将父项标记为未序列化项(XmlIgnoreSoapIgnoreNonSerialized)。检查不同的那里

在您的情况下,您将父级添加到 xml,然后尝试添加子级。每个孩子都有指向父级的链接,并且序列化程序尝试再次序列化父级,依此类推..

于 2012-06-19T13:08:41.213 回答