0

これは簡単な質問かもしれませんが、私はそれに苦労しています。

基本クラスから派生した 2 つのクラスがあります。

class Base
{
  public int BaseProperty;
  ...
}

class A: Base
{
public int Property_derived;
...
}

Class B: Base
{
public int Property_derived;
...
}

これで、派生クラスのプロパティを表示するテキストボックスを取得した UI フォームができました (すべての派生クラスのプロパティの数とデータ型が同じであることを保証します)。

textbox1.text = objectA.Property_derived;

次のように、より一般的なものに変更するにはどうすればよいですか。

textbox1.text = objecttypedoesntmatter.Property_derived;

どの派生クラスでも同じユーザー インターフェイスを使用できるようにする必要があります。どんな助けでも大歓迎です。どうもありがとう

4

1 に答える 1

5

あなたがする必要があるのは、基本クラスで Property_built を定義し、それをすべての派生クラスの共有コントラクトの一部として持つことです。継承のプロパティであるポリモーフィズムは、派生したオーバーライドされたプロパティを呼び出します。ただし、これはフィールドではなくプロパティに対して機能することに注意してください。

class Base
{
   public virtual int MyProperty {get { return 1;} }   
}

class A: Base
{
   public override int MyProperty { get { return 5; } }
}

class B: Base
{
   public override int MyProperty { get { retun 7; } }
}
于 2013-04-14T15:45:33.707 に答える