3

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

1 に答える 1