【发布时间】:2014-01-05 02:58:18
【问题描述】:
我正在尝试将对象序列化为 XML 文件,但出现上述错误。
问题似乎出在包含基类列表但由从基类派生的对象填充的对象上。
示例代码如下:
public class myObject
{
public myObject()
{
this.list.Add(new Sw());
}
public List<Units> list = new List<Units>();
}
public class Units
{
public Units()
{
}
}
public class Sw : Units
{
public Sw();
{
}
public void main()
{
myObject myObject = new myObject();
XmlSerializer serializer = new XmlSerializer(typeof(myObject));
TextWriter textWriter = new StreamWriter ("file.xml");
serializer.Serialize (textWriter, myObject);
}
例如仅包含 List<Units> 的对象,该对象由继承自 Units 类 (Sw) 的派生对象填充。
很抱歉没有提供我的实际代码,但所涉及的对象非常复杂,这似乎是对象中唯一无法成功序列化的部分 - 并且仅当列表包含派生类时。
如何正确序列化这样的类?
【问题讨论】:
标签: c# xml-serialization primitive derived-class