に動的変数をキャストI(ここで<em>フー</em>と<em>バー</em>)、コンテキストに依存し、いくつかの種類のものとすることができるオブジェクトをiが格納動的変数が指定されたタイプ
dynamic myvar;
myvar = new Foo();
//or
myvar = new Bar();
FooとBarには異なるメソッドがあります。 MYVARのメソッドへのアクセスを取得するには 、私は
(Foo)myvar.mymethodoffoo();
(Bar)myvar.mymethodofbar();
のようなキャストを使用することは可能だと思った。しかし、それは働いていない、私は、この操作は、コードエディタで実行に解決されます(ダイナミック式)を取得します。
私は動的オブジェクトをキャストして、使用可能なメソッドとプロパティをエディタから取得する方法はありますか?
ありがとうございます。
私はあなたのアプローチが最善である、私はむしろ強くインタフェースまたは共通の基本クラスを使用して変数を入力し確認していません。 –
コンパイラに、呼び出しを静的に解決するキャストの形式で十分な情報を与えるつもりなら、なぜ* dynamic *型ですか?これは私には意味をなさない。動的な点は、コンパイル時に型が知られていないときに使用することです。 –