有一个主类有2个子类(每个类代表单独的实体),所有类都需要序列化。我该怎么办? 我的要求是当我对MainClass进行serelize时,我应该为每个子类和主类获取xml。在此先感谢...如果我的方法不正确...也要纠正...
以下给出了......
class MainClass
{
SubClass1 objSubclass1 = null;
SubClass2 objSubclass2 = null;
public MainClass()
{
objSubclass1 = new SubClass1();
objSubclass2 = new SubClass2();
}
[XmlElement("SubClass1")]
public SubClass1 SubClass1 {get {return objSubclass1;} }
[XmlElement("SubClass2")]
public SubClass2 SubClass2 {get {return objSubclass2;} }
}
Class SubClass1
{
Some properties here...
}
Class SubClass2
{
Some properties here...
}
答案 0 :(得分:2)
XML序列化要求对属性进行读/写。因此,您需要实施get
和 set
。
如果你不喜欢这个限制,那么你可以实现IXmlSerializable(在链接页面上有一个例子),但是对于我想的这样一个简单的要求,它可能比它的价值更麻烦。
答案 1 :(得分:1)
要使用XML序列化来处理属性,您需要同时拥有属性的getter和setter。
此外,通常在使用术语子类时,它表示从基类派生的类。这似乎不是这里的情况所以你的例子有点令人困惑。
如果您确实需要序列化子类,其中属性的静态类型是基类,请参阅XmlIncludeAttribute。