我想了解C#中的xml序列化/反序列化行爲。我用下面的示例代碼工作:一個類的對象的序列化和其他類的屬性的設置
[Serializable]
public class Class1 {
Class2 c2 = new Class2();
public List<double> Arr2 {
get { return c2.Arr1 ;}
set { c2.Arr1 = value ;}
}
[XmlIgnore]
public Class2 C2 {
get { return c2; }
set { c2 = value; }
}
public Class1() {
}
}
public class Class2 {
private List<double> arr1;
public List<double> Arr1 {
get { return arr1; }
set { arr1 = value; }
}
public Class2() {
arr1 = (new double[ 5 ]).ToList();
}
}
每次當我反序列化類class1的xml文件,我在ARR2得到0遊XML文件中的值來代替。我使用下面的線反序列化:
public Class1 c1 = new Class1() ;
XElement rootnode = XElement.Load(path);
c1 = rootnode.XmlDeserialize<Class1>("Class1");
XML文件:
<Class1>
<Arr2>
<double>1</double>
<double>2</double>
<double>3</double>
<double>4</double>
<double>5</double>
</Arr2>
</Class1>
哪裏是'XElement.XmlDeserialize( 「1類」);從'來了嗎?我無法在任何地方找到任何文檔。我只能假設它是你的項目中定義的擴展方法。你應該包括它 –
如果有人要投票,然後請留下一個意見,以表明我犯的錯誤。這是我謙卑的要求。謝謝 – User1551892