いくつかの仮想プロパティを追加した抽象基本クラスがあります。私が望むのは、派生クラスで、シリアル化 (および逆シリアル化プロセス) 中に特定の基本クラス プロパティを無視するように指定することです。以下に示すように、-class のValue
-property はプロパティとしてBaseClass
宣言されており、-class では、-keyword を使用して、基本クラスの ppty をオーバーライドし、その上に -Attribute を配置することを選択しました。ただし、コードをテストすると、まだvirtual
DerivedClass
overrides
XmlIgnoreAttribute
Value
派生クラス インスタンスの生成された XML に ppty が含まれています。Definition ppty でも同じことが起こります。新しいキーワードを使用して Derived クラスで非表示にしてもレンダリングされ、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; }
}