そろそろ、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

最新のブログ

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: zio
Posted on: 2008/03/27 at 16:47
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | コメント (1) | Post RSSRSS comment feed

コメント

全てのコメントが閉じられました