3
我有以下的基类进XML属性继承的XMLType
[Serializable]
[XmlType("Base")]
public class Base
{
[XmlElement(ElementName = "IdBase")]
public int IdBase { get; set; }
...
}
而下面的继承类,装饰不进XML attibute装饰类
[Serializable]
public class InheritedClass1 : Base
{
[XmlElement(ElementName = "InheritedProp")]
public int InheritedProp{ get; set; }
...
}
当我序列,继承类似乎覆盖了生成以下XML的XmlType(我没有料到,因为我没有用XmlType明确装饰)
<InheirtedClass1>
<IdBase>1</IdBase>
<InheritedProp>1</InheritedProp>
...
</InheirtedClass1>
That's的XML我的预期
<Base>
<IdBase>1</IdBase>
<InheritedProp>1</InheritedProp>
...
</Base>
如果我想装饰用[XmlType将(“基地”)]属性继承的类,但是当我创建的实例抛出一个异常XmlSerializer(typeof(InheirtedClass1)),因为它重复了XmlType,这是有道理的...
有人可以解释为什么会发生这种情况(XmlType被替换而没有明确强制它)以及如何实现所需的行为?