【发布时间】:2013-09-30 23:19:27
【问题描述】:
我在谷歌上搜索了一个小时,但我认为我没有使用正确的词,因为我找不到一个非常简单的例子来说明我正在尝试做的事情。人们总是在示例中使用复杂的结构,如 List 或派生对象。
我要做的就是将名为SuperFile 的主要对象XMLSerialize 到一个文件中。这个SuperFile 类包含 2 个成员,这 2 个成员未序列化,因此生成的 XML 文件为空(仅包含标题)。
这是我的代码,我做错了什么?
超级文件
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;
希望清楚!
谢谢!
【问题讨论】:
-
尝试在属性(NI和Planif)上放置一个setter;
-
就是这样!谢谢NDJ。你能写一个完整的答案并解释原因吗?
-
完成 - 很高兴它有帮助!
标签: c# .net serialization xml-serialization