-1

C#の「dynamic」キーワードの目的は何ですか。なぜそれを使用したいのか、使用したくないのですか?

4

2 に答える 2

6

静的に型付けされた世界では、動的は開発者に自分自身をぶら下げるための多くのロープを与えます。コンパイル時に型がわかるオブジェクトを処理する場合は、動的キーワードを絶対に避けてください。静的に入力する場合、動的は意味がありません。不明なタイプまたは動的なタイプを扱っている場合は、多くの場合、Reflectionを介して通信する必要があります。リフレクティブコードは読みやすくなく、上記の動的タイプのすべての落とし穴があります。このコンテキストでは、動的は非常に理にかなっています。

オブジェクトがCOMオブジェクト(この場合、操作はIDispatchを介して動的に呼び出されます)であるか、オブジェクトがIDynamicObjectを実装していない限り、動的型はラップされたリフレクションコードにコンパイルされます。これは、IronPythonとIronRuby、および今後のAPI。

詳細はMSDNをご覧ください

于 2012-06-15T06:32:25.637 に答える
4

これは、動的言語との相互運用を容易にするために導入されました。

個人的には、動的に記述されたコードとインターフェイスする場合、または非常に特別な理由がある場合を除いて、これを使用することはお勧めしません。

于 2012-06-15T06:31:36.880 に答える