LINQ Framework Design Guidelines

VBではSystem.Objectを拡張することは避ける(VBでObject型を使うと実行時にメソッドを解決する。拡張メソッドはコンパイル機能であるため実行エラーになるため)などが記述してあったので、LINQを利用するためのガイドかなと見ていたら、Query PatternなどLINQで利用可能な仕組みを作るためのガイドでした。

1つ気になったのは「パフォーマンスを考慮しないでIQueryableを実装するな」の中でexpression treesのパースは高価であることが指摘されている点です。LINQ To ObjectsシナリオでExpression Treeの最適化は1つの選択肢かもしれないと考えていたが無理筋なのかもしれませんね。