を使用する方法を私は「現時点ではこのサブクラスフィールドはクラスに属するが、多型
class Sub
{
private static string Colour = "orange";
protected override string ColourProp { get{ return Sub.Colour; } }
}
のインスタンスで呼び出され、基本クラス
class Base
{
private static string Colour = "blue";
string DoStuff() { return ColourProp; }
protected virtual string ColourProp { get{ return Base.Colour; } }
}
のメソッドを持っています仮想プロパティを使用して、これは唯一の方法ですか? (フィールドが仮想ではないことを考慮して)...
ええ、私はちょうど(私の問題のために)カラーフィールドはクラスに属し、インスタンスには理想的ではないと思っていました...多分リフレクションやタイプを動的に呼び出すことができますか? – geejay
これらはクラスに属していても構いませんが、静的メンバーでは多態性を行うことはできません。これを行うためにリフレクションを使用すると、「匂い」を構成します。たぶんあなたは一歩踏み出して、より高いレベルで達成しようとしていることを説明することができますか? –
これを行うには、残酷で臭いがあると認めます。私は、クラス変数(基本的に各サブクラスから余分なプロパティを切り捨てるために、私がしなければならないことはフィールドを定義してからこれをスーパークラスで使用する)のような多態性を達成する方法があるかどうか疑問に思っています。 – geejay