備忘録日記スマートフォン用の表示で見るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。絡みのメモを公開しています。4.0の追加機能を少しメモしようと思います。C#も当然バージョンがあがっています。4.0の追加機能をちょこちょこメモしていきます。リソースhttp://msdn.microsoft.com/ja-jp/vcsharp/dd819407.aspxからダウンロードできる。Programming)となっています。今回の追加機能もそれに関連する機能が追加されています。大項目は以下の4つです。parameters)Variance共変性/反変性ともいいます。ジェネリックに対する追加機能です。lookupについてです。4.0で、以下のキーワード(型)が追加されました。dynamic文字通り動的なオブジェクトを表すものです。GetDynamicObject();変数dynObjは動的なオブジェクトとして扱われ、コンパイル時の型チェックが行われません。実際に型の解決が発生するのはランタイム時になります。3.0で追加されたvarと似ていますが、こちらはあくまで型の推論です。型のチェックがされますが、dynamicの方はコンパイル時のチェックが行われません。varとは違い、dynamicは引数の型や戻り値の型としても利用できます。....}なんていうメソッドも定義可能です。ジェネリックの型引数としてももちろん利用できます。List&lt;dynamic&gt;();内部的には、dynamicとして定義された値はコンパイル時にobject型に変換されます。実行時にdynamic型というのは存在しません。dynamicが追加されたことにより以下の点が行えるようになりました。typingが出来るようになるのは面白いですね。typingとは、ざっくりと書くと以下のような事です。どんなインターフェースや親クラスを実装/継承しているのかに関係無く特定の機能(メソッドやプロパティなど)を持っているものはみんな同じものとして扱う。アヒルのような歩き方をしている場合、アヒルとして扱う)以下のような感じです。Executeという名前のメソッドは持っている。);実際、実務レベルでdynamicを多用するかというと、多分あまり使われないだろうなというのが個人的な感想です。Interopでは大活躍で、今までC#では面倒だった部分が大分書きやすくなります。どんな風になるのかは、下記のサンプルを参照お願いします。