The LINQ Project (5) : C++/CLI ではどうか?

Extension methods が無くてもこういう書き方でとりあえず導入はできそうな気はする.ハンドルに対する演算子のオーバーロード関係はきちんと実験していないので単なるアイディアだけど.

for each( T ^ t in (source >> Linq::Where(pred1) >> Linq::Select(pred2) >> Linq::Take(5)) )
{
    Console::WriteLine( t->ToString() );
}