受け取るパラメータを返す式ツリーを作成する必要があります。e => e to expression tree
これは私が必要とするラムダですe => e式ツリーに変換してください。
アイデア?
ありがとうございました。
受け取るパラメータを返す式ツリーを作成する必要があります。e => e to expression tree
これは私が必要とするラムダですe => e式ツリーに変換してください。
アイデア?
ありがとうございました。
このことを行います:lambda.ToString()
の
var param = Expression.Parameter(typeof(int), "e");
var body = param;
var lambda = Expression.Lambda<Func<int, int>>(body, param);
出力:あなたはe
にタイプを与える必要があり
e => e
を注(この場合には、それはint型です)。
(e => e
は)(Expression<T>
として定義されている場合、それはある)、すでに実際に式ツリーです。ただし、ファクトリメソッドを使用してツリーを構築したいと思う可能性があります。
e => e
。それでおしまい。
それはとても例えば、当然のことながら、入力する必要がありますintの場合はExpression<Func<int, int>> intTree = e => e;
、文字列の場合はExpression<Func<string, string>> stringTree = e => e;
などです。
Console.WriteLine(intTree.Parameters[0].Name); // "e"
Console.WriteLine(intTree.CanReduce); // false
Func<int, int> intIdentityFunction = intTree.Compile();
すでに掲載ことを行うコードを。おめでとう、あなたは終わった。 – Servy
私は表現木を使わなければなりません。私はそれが私が望むものを生成するラムダ式であることを知っています。 – Zuryx
はい、しかし、あなたが与えるコードC#で式ツリーを記述する方法することができます(同じコードは、コンテキストに応じて、デリゲートまたはメソッド身体を書くことができます) –