TDa*_*ver 21 .net c# attributes overriding xml-serialization
我有一个带抽象属性的基类:
public abstract int ID {get;set;}
Run Code Online (Sandbox Code Playgroud)
现在,我有一个子类,它是XmlSerialized.所以它有:
[XmlElement("something")]
public override int ID {
get { //... }
set { //... }
}
Run Code Online (Sandbox Code Playgroud)
我无法将XmlElement属性移动到baseclass,因为每个子类都有不同的xml元素名.
现在,当我反序列化这个类时,我收到以下错误:
成员'Subclass.ID'隐藏继承的成员'BaseClass.ID',但具有不同的自定义属性.
我能做什么?
Vij*_*iri 38
序列化和派生类型的反序列化工作时被重写的属性具有[XmlElement]和[XmlAttribute]属性,通过添加[XmlIgnore]属性.
基类可以是抽象的,因此它永远不会被实例化,因此被序列化或反序列化.
[Serializable]
public abstract class Base
{
[XmlIgnore]
public abstract Int32 ID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)