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被替換而沒有明確強制它)以及如何實現所需的行爲?