質問: エクスプレッションツリーは素晴らしい機能ですが、その実用的な用途は何ですか?何らかのコード生成やメタプログラミングなどに使用できますか?
回答: Jonが指摘しているように、私は.NET 3.5で汎用演算子を提供するためにそれらを使用します。また、デフォルト以外のコンストラクタ(コンストラクタで`Delegate.CreateDelegate`を使用することはできませんが、 `Expression`はうまく動作します)への高速アクセスを提供するために、それらを(MiscUtilで)再び使用します。 手動で作成された式ツリーの他の用途: * オブジェクトクローニング * 動的LINQソート * コンパイラとして しかし、実際には、Expressionはどのような動的コードを記述するための非常に多彩な方法です。 `Reflection.Emit`よりもずっと簡単で、私のお金のために、CodeDOMよりも簡単に理解できます。 .NET 4.0ではさらに多くのオプションが利用できます。私は私のブログに `Expression` を介してコードを書くの基礎を示します。