我有一个抽象基类,其中添加了一些虚拟属性。我想要的是,在我的派生类中,指定忽略序列化(和反序列化)过程中的特定基类属性。如下所示,在BaseClass类中,Value属性声明为虚拟属性,在DerivedClass类中,使用overrides关键字,我选择重写基类的ppty,然后在其上放置XmlIgnoreAttribute属性。但是,当我测试代码时,我发现生成的XML文件中仍包含了派生类实例的Value ppty。同样的事情也会发生在Definition ppty上,即使我在派生类中使用new关键字隐藏它,然后将XMLIgnoreAttribute应用于它。请问下面的代码有什么问题?
public abstract class BaseClass
{
public virtual String Value { get; set; }
public String Definition { get; set; }
[XmlAttribute("SeparatorCharacter")]
public virtual String SeparatorCharacter { get; set; }
}
public class DerivedClass:BaseClass
{
[XmlIgnore()]
public overrides String Value { get; set; }
[XmlAttribute("FillerCharacter")]
public String FillValue { get; set; }
[XmlIgnore()]
public new String Definition { get; set; }
}
: BaseClass
呢? - user57508