このようなことは可能ですか?
class A
{
public virtual string prop
{
get
{
return "A";
}
}
}
class B: A
{
private string X;
public override string prop
{
get
{
return X;
}
set
{
X = value;
}
}
}
つまり、基本クラスは GET アクセサーのみを持つ仮想プロパティを提供しますが、子クラスは GET をオーバーライドし、SET も提供します。
現在の例はコンパイルされませんが、おそらくここに何かが欠けています。
追加:明確にするために、いいえ、new で再定義したくありません。新しいアクセサを追加したい。基本クラスにないことはわかっているので、オーバーライドできません。わかりました、シンタックス シュガーなしでどのように見えるかを説明してみましょう。
class A
{
public virtual string get_prop()
{
return "A";
}
}
class B: A
{
private string X;
public override string get_prop()
{
return X;
}
public virtual string set_prop()
{
X = value;
}
}