2つのLinq式の結果を合成したいと思います。彼らは、だから私は作曲したい2の両方がブール値を返すこと(タイプTの)パラメータに、本質的に委譲しているフォーム既存のLinq式を作成するには
Expression<Func<T, bool>>
に存在します。私が構成したいと思う結果は、ブーリアンの論理的評価でしょう。私は周りつついている
Expression<Func<User, bool>> expression1 = t => t.Name == "steve";
Expression<Func<User, bool>> expression2 = t => t.Age == 28;
Expression<Func<User, bool>> composedExpression = expression1.And(expression2);
以降に私のコードで私は合成表現
var user = new User();
bool evaluated = composedExpression.Compile().Invoke(user);
を評価したい:私の構文のようなものになるだろうので、私はおそらく、拡張メソッドとしてそれを実装しいくつかの異なるアイデアがありますが、私はそれが私が望んでいたよりも複雑であることを恐れています。これはどうですか?