BT

LINQおよび動的タイピング

| 作者: Jonathan Allen フォローする 530 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年12月1日. 推定読書時間: 1 分 |

C# 3の最大の機能は、LINQテクノロジーであった。C# 4では、動的タイピングは話題をさらいそうである。しかし、それらを同時に使用できるのか?

LINQへの中心的な機能は、拡張メソッドである。拡張メソッドにより、共通機能が、IEnumerableのようなインターフェイスに追加することがで きる。基本的に拡張メソッドは、変数の静的タイプと組み合わさってローカルでインポートされた名前空間を使用するコンパイラの策で、呼び出すべき適切な機 能を決定する。動的変数では、変数のタイプは実行時まで分からない。しかし、その時までに、どの名前空間がインポートされたかについての情報はとっくにな くなっている。

匿名機能も同様にLINQにとって、重要である。匿名機能はコンテキストを使用し、静的にC#で実機能へコンパイルされ、どのパラメータ型を出力すべきかを決定する。既知の型がなければ、コンパイラは型オプジェクトのパラメータのみを出力しなければならない。

これらの制限はどちらも解決可能である。どの拡張メソッドにバインドすべきかを決定するのに必要なコンパイル時のコンテキストを、コンパイラが取り込めな かった理由はない。同様に、型オブジェクトの匿名機能を出力することができ、メソッドおよびプロパティの起動に動的呼び出しを用いることができる。しか し、言語はゆっくりと進化し、Mads Torgersen氏によると、C# 4ではこうした制限に対処する計画はない模様である。

C# Future(リンク)のサイトで詳細を参考することができる。

 

原文はこちらです:http://www.infoq.com/news/2008/11/CSharp-LINQ-DLR

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT