エレガントな方法で式ツリーを構築する方法についてさらに知識を得ることを期待して、命名スキーマ「something-Linq」のライブラリの1つを見たところ、がっかりしました。私が見つけることができたのは、IEnumerable を拡張するメソッドだけだったからです。もちろん、「通常の」C# コードを使用します。
今、私はこの質問を持っています: IEnumerable の非式拡張は、ライブラリの名前に「Linq」を含めることを本当に正当化しますか? それとも、作者は IEnumerable 拡張ライブラリのダウンロード数を増やそうとして誇大広告に飛び乗っているだけで、ライブラリの名前に「Linq」が表示されているときに IQueryable と式を期待していたのは正しかったのでしょうか?
編集:
Linq-to-... と something-Linq ライブラリには違いがあると私は主張します。IMHO Linq-to-... は linq プロバイダー ライブラリであり、something-Linq は linq 拡張機能です。Linq プロバイダー ライブラリは、結果で IQueryable または IEnumerable を公開するかどうかを選択できると思います - linq 拡張機能にはその選択がありません。私に関する限り、それらは両方の種類のプロバイダ ライブラリで動作できる必要があります。つまり、すべての linq 拡張機能は、Queryable 拡張機能と Enumerable 拡張機能の両方を提供する必要があります。
編集2:
Jon と私の間で、彼の回答のコメントで非常に活発な議論が行われました。うまくいけば物事を明確にするためにブログ投稿を作成することを志願しました: LINQ の未知の海域のマッピング
編集3:
この議論に興味のある方は、ぜひ私のブログ記事にアクセスしてください。恐ろしいので投稿自体をスキップして、Jon による議論と説明に直行してください。