2009」が開催された。4.0」の様子をお伝えする。4.0の代表的な新機能として以下の4つを紹介した。中でも最も大きなポイントとなるのが動的型付けのサポートである。Runtime:DLR)によって動的プログラミングがサポートされる。IronPythonやIronRubyなどもDLR上で動作する言語である。4.0でもこの基盤を利用して動的プログラミングが可能になる。具体的には、新たに「dynamic」という型が用意され、これが「動的な型」を表すことになるという。dynamic自身は静的な型だが、この型で宣言された変数は、実行時の状態で初めて実際の型が決定することになる。var型のようにコンパイル時には型推論をするわけではなく、あくまでも実行するまで型が決定しない点が大きな特徴だ。リスト1は大野氏が紹介した実際の記述例である。この場合、calcの型は実行時に初めて決定する。したがって2行目のAddメソッドが実際にどのクラスのメソッドなのかは、コンパイル時にはわからない。戻り値の型がdynamicの場合、sumに代入される際には動的にint型に変換されるという。20);リスト2のようなケースでも、オペランドがdynamicの場合には、メンバー選択はコンパイル時には行われず、実行時にdynamicが実際の型に置き換えられるようになるという。この場合、演算の静的な結果型はdyanmicである。};上記に加え、dynamicな特性を持った型を独自に定義することもできるようになるとのこと。4.0にはIDynamicObjectというインタフェースが用意され、これを実装することでdynamicなクラスを定義できる。大野氏はこの機能によって「dynamicの能力を最大限に活かしたプログラミングができる」と語っている。Corp.ホワイトペーパーサイバー攻撃から顧客の重要情報を守る。permission.×このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。