2011-01-24 84 views
1

這是C#應用程序類:C#序列化問題

[Serializable()] 
public class AAA 
{ 
    private List<AAA> arr; 
    private AAA parentA; 

    public List<AAA> Arr 
    { 
     get { return arr; } 
     set { arr = value; } 
    } 

    public AAA ParentA   
    { 
     get { return parentA; } 
     set { parentA = value; } 
    } 
} 

,當我試圖序列由XMLSerializer的這個類和列表中的「改編」或「parentA」都包含一個值序列化不能寫XML。

請問如何解決這個問題?

請附上代碼示例。

注意:我必須使用XMLSerializer,而不是任何其他序列化程序。

10x

+0

嗨,當你嘗試序列化時,你會得到什麼錯誤?您可能需要將[Serializable]屬性添加到類定義 – WraithNath 2011-01-24 12:47:28

+4

XML序列化程序通常不是特別滿意循環引用... – SWeko 2011-01-24 12:54:57

回答

1

添加到類屬性

[XmlInclude(typeof運算(AAA))]公共類 AAA

和類似

[XmlArray公共字段( 「AAAarray」)] [XmlArrayItem(「Param」,typeof(AAA))] public IList arr {get;組; }

2

缺失屬性?變量可能必須是公開的。

[Serializable()] 
public class AAA { 
    public List<AAA> arr; 
    public AAA parentA; 
}