私は、同じタイプの2つの式を、持っている:意味的にそれは類似のタイプの式をどのように合成しますか?
a(b(T))
として出てくるように私は、これら2つの式を組み合わせるしたいと思います。しかし、私は右を見つけることができません
Expression<Func<IQueryable<T>, IQueryable<T>>> exprA, exprB;
をLinqKitを使用しても構文は変わりません。
var exprC = exprA.Invoke(exprB);
//動作しません
どうやってこれを行いますか?彼らはFunc
ションであれば
var c = x => a.Compile()(b.Compile()(x));
そうでない場合:
これは基本的にこの作っていることは注目に値します:あなたは、効率を心配しているならば、あなたはそれぞれのラムダ関数の本体は、パラメータを置き換える得ることができ、 ''(P1)=> F1(F2(P1)を) '(p1)=>" hello "+(p1 + p1)" 'これを次のようにコンパイルします。私の1つのライナーよりも効率的ですが、少し複雑です。 – Eluvatar