5

重複の可能性:
2つの式を組み合わせる(Expression <Func <T、bool >>)

単一のExpression<Func<bool>>パラメーターを取り込むメソッドがあります

void MethodOne(Expression<Func<bool>> expression)

のインスタンスが複数ありますExpression<Func<bool>>Expression<Func<bool>>を使用してこれらの式を動的に1つに結合するにはどうすればよいですかExpression.OrElse(つまり、式ツリーを構築する)?

たとえば、次のような2つの式がある場合

() => objectA.PropertyOneIsSet

() => objectB.PropertyTwoIsSet

最終結果は次のようになります。

() => objectA.PropertyOneIsSet || objectB.PropertyTwoIsSet

これを上記のメソッドに渡すことができます。

4

2 に答える 2

8

ExpressionVisitorを作成して、クエリを組み合わせることができます。詳細については、このmsdnブログを確認してください:述語の組み合わせ(回答3)。彼はEFについて話しているが、あなたはそれをあなたの場合に使うことができる

于 2012-11-23T15:51:59.293 に答える
3

この目標を達成するために、expressions.Any(x => x.CallMethod)を使用できます。

于 2012-11-23T14:56:05.267 に答える