2012-06-19 25 views
4

樹對象我有一個簡單的樹形結構,它包含以下序列化在C#

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

目前的類要複雜得多,但是這是最重要的部分,我的問題,我認爲。這段代碼非常古老,我不能只是改變整個結構,因爲它在我必須維護的項目的許多領域都有使用。

我的主要問題是我無法序列化該對象。 (我開始從根對象序列化)我得到以下信息:

而序列化類型 MyTree的對象時檢測到循環引用

它似乎很清楚爲什麼會這樣,因爲我有兒童和父母相連。

但我該如何解決這個問題?例如,我可以禁用父屬性的序列化嗎?

+0

@RaphaëlAlthaus我會去那作爲一個騙子 –

+0

@AndrasZoltan完成。 –

回答

3

將父項標記爲未序列化項目(XmlIgnore,SoapIgnoreNonSerialized)。檢查有關不同的there

在你的情況下,你試圖添加孩子後,將父母添加到xml。每個孩子都有鏈接到父母和序列化器嘗試序列化父母再次等等..

+0

謝謝。 XmlIgnore對我來說是正確的 –