我一直在谷歌上搜索一小時,但我認爲我沒有使用正確的詞,因爲我找不到一個非常簡單的例子試圖去做。人們總是在樣本中使用像列表或派生對象這樣的複雜結構。如何在容器對象中使用XMLSerialize成員對象
我想要做的就是將我的主要對象稱爲SuperFile
的XMLSerialize到一個文件。這個SuperFile
類包含2個成員,並且這2個成員沒有被序列化,因此生成的XML文件是空的(僅包含頭部)。
這是我的代碼,我做錯了什麼?
SuperFile
public class SuperFile
{
private NetworkInfo _networkInfo;
private Planification _planification;
public NetworkInfo NI
{
get
{
return _networkInfo;
}
}
public Planification Planif
{
get
{
return _planification;
}
}
}
的NetworkInfo和Planification與大多雙件非常正常類和它們完美連載自己,如果我想。但現在,我想讓他們在SuperFile對象內部序列化。
最後,這裏是我的代碼做序列化
public void Save(string strFilename)
{
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(ExoFile));
TextWriter WriteFileStream = new StreamWriter(strFilename);
x.Serialize(WriteFileStream, this);
WriteFileStream.Close();
}
如果我把這個裏面SuperFile,它得到系列化但2其他成員被跳過。我認爲它得到序列化,因爲它不是一個複雜的類型...
public int _nDummy;
希望它很清楚!
謝謝!
嘗試把一個setter的屬性(NI和Planif); – NDJ
就是這樣!謝謝NDJ。你能寫一個完整的答案並解釋爲什麼? –
完成 - 很高興它幫助! – NDJ