ようこそ ziosite へ ログイン | 登録 | ヘルプ

ziolog

人生デッドロック!
そろそろ、LinqBridgeについてなんか書いとくか。

LinqBridgeに関する記事が日本語で皆無なので書いておく。

1.LinqBridgeとは

.Net Framework3.5で導入されたLinqを下位環境(.NET 2.0)で利用可能にするライブラリ
ただし、VisualStudio2008でのコンパイルする必要がある。

2.なにができるのか?

拡張メソッドが利用できるようになります。
それを利用してLinqToObjectが利用できるようになります。
たとえばこんな構文

var numList = new[] {1,2,3,4, 5, 6, 7, 8, 9};
var result = numList.Where(n => n > 5);
foreach (var i in result)
{
    Console.WriteLine(i);
    //6,7,8,9を出力
}

 

3.なぜ、LinqToObjectが利用できるのか?

C#3.0で文法がいくつか拡張されました。(ex.自動プロパティ,ラムダ式)
これらは、文法上の拡張なのでVisalStudio2008で.Net2.0のプロジェクトでも
普通に使うことができます。

ただし、拡張メソッドに関しては拡張メソッド属性(ExtensionAttribute)を
用いて実装されています。この属性が.NET 3.5のライブラリにあるため
利用できません。

LinqBridgeはこの属性を2.0上で実装しているので拡張メソッドが利用できるようになります。
また、System.Linqの拡張メソッドも網羅しているので、LinqToObjectであれば
普通に利用できるようになります。

 

この記事を書いたときには、Googleで探してもみつからないのでURL

http://www.albahari.com/nutshell/extras.html

Posted: 2008年3月27日 16:47 投稿者 zio

コメント

コメントはありません

この投稿に対する新規コメントはできません