2009-03-01 78 views

回答

6

您的对象包含循环引用,它不受类的支持。您可以改为查看DataContractSerializer这种情况。

+0

这也是现在在缺少旧机制的强制性理由的情况下,序列化的首选默认机制。 – ShuggyCoUk 2009-03-02 00:46:23

0

你应该确保你知道你想如何序列化和反序列化这些类。编写你想要的XML作为结果,并找出你想如何将对象变成XML,反之亦然。这不是一件容易的事。

0

这是我的解决方案。它可能不如您期望的那样优雅:

public class Report 
{ 
    //... 


    void PostLoad() 
    { 
    foreach(Section s in Sections) 
    { 
     s.Report = this; 
    } 
    } 

    public static Report Load(string filename) 
    { 
    // Load using an XmlSerializer 
    Report report = ...; 

    report.PostLoad(); 

    return report; 
    } 
}