XmlSerialization和派生类型的不同选项

时间:2009-11-12 13:01:46

标签: c# .net xml xml-serialization

我有以下对象图:

public class BaseType
{
}

public class DerivedType : BaseType
{
}

当我将DerivedType传递给XmlSerializer时,我需要让它反映在BaseType而不是DerivedType上。有没有办法用属性控制它而不在DerivedType上实现IXmlSerializer?

1 个答案:

答案 0 :(得分:0)

如果您可以控制序列化程序实例化,只需将带有派生类型对象的Type []作为extraTypes传递。否则,添加

[XmlInclude(typeof(Derived))]

到基类定义。输出XML看起来与传递基本实例完全相同,除了带有派生类型名称的xsi:type属性。

我认为这就是你要求的......