0

プロパティ CanFly という名前のオブジェクトにアクセスする必要がありますが、animalObj方法がわかりません。

物件へのアクセス方法を教えてください。

でテストしましanimalObj[Owl][Bird][Animal]たが、運がありませんでした。

クラスの構造:

動物 --> 鳥 --> フクロウ

フクロウには CanFly プロパティがあります

4

3 に答える 3

1

そのスクリーンショットから私が理解しているのは、あなたanimalObjが のインスタンスでありOwl、クラスが から継承されBird、これが から継承されていると思いますAnimalAnimalという性質がありますCanFly

私の推測が正しければ、次のように書くだけです。

animalObj.CanFly

CanFly可視性を として設定したと仮定しますpublic

于 2013-09-08T13:52:00.973 に答える
1

Animalであることがわかっているインスタンスがあり、プロパティOwlのみを持っている場合は、オブジェクトを にキャストしてプロパティにアクセスする必要があります。OwlCanFlyOwl

(animalObj as Owl).CanFly

演算子を使用して、これAnimalが本当に であるかどうかを確認できます。Owlis

if (animalObj is Owl)
{
    Owl owl = animalObj as Owl;
}

CanFlyさらに、問題のドメインがどのフクロウが飛ぶことができ、どのフクロウが飛ぶことができないかを具体的に扱っていない限り、 on だけのプロパティを持つことはOwlあまり意味がありません。

于 2013-09-08T13:56:19.160 に答える