LINQ式ツリーが実行できる最大値はどれくらいですか?
クラスを定義できますか?宣言された名前、修飾子、パラメータータイプ、リターンタイプがすべて含まれているメソッドはどうですか?
プログラムは常にツリー自体を定義する必要がありますか?特定のC#ファイルからツリーを生成することは可能ですか?
LINQ式ツリーが実行できる最大値はどれくらいですか?
クラスを定義できますか?宣言された名前、修飾子、パラメータータイプ、リターンタイプがすべて含まれているメソッドはどうですか?
プログラムは常にツリー自体を定義する必要がありますか?特定のC#ファイルからツリーを生成することは可能ですか?
C# 3 では、式ツリーは式を表すことができます。したがって、名前。さらに、それらは C# 式のサブセットに制限されています。つまり、代入式やポインター型を含む式はありません。
C# 4 に同梱されるライブラリでは、ステートメント ツリーもサポートするように式ツリーライブラリを拡張しました。ただし、C# 4 はステートメント ラムダを「ステートメント ツリー」に自動的に変換しません。
これは明らかで便利な機能で、C# 4 では実現する時間がありませんでした。仮想的な将来のバージョンで検討します。ステートメント ツリーに関する非常に優れたユーザー シナリオがあれば、ぜひ聞かせてください。
クラス宣言、構造体宣言などを表す、宣言ツリーのすべてに対する明らかな拡張です。C# 言語と式ツリー ライブラリの間に完全な相似性があるとすれば、すばらしいことです。これにより、あらゆる種類の興味深いメタプログラミング シナリオが可能になります。しかし、それはすぐに実現するわけではないので、期待しないでください。それは、決して起こらないかもしれない私の長期的な夢です。
式ツリー:
http://www.interact-sw.co.uk/iangblog/2005/09/30/expressiontrees
http://www.davidhayden.com/blog/dave/archive/2006/12/18/ExpressionTrees.aspx
http: //msdn.microsoft.com/en-us/library/bb397951.aspx
http://community.bartdesmet.net/blogs/bart/archive/2006/11/22/Getting-started-with-C_2300_-3.0-Expression -Trees.aspx
http://blah.winsmarts.com/2006/05/23/demystifying-c-30--part-7-expression-trees.aspx
訪問者パターン:
http://www.dofactory.com/Patterns/PatternVisitor.aspx
http://en.wikipedia.org/wiki/Visitor_pattern