Ich habe zwei Ausdruck mit Expression.And kombiniert. Wie kann ich diesen neuen Ausdruck mit tatsächlichen Werten kompilieren?Completing C# Ausdruck mit Werten
var expr1 = Expression.Equal(Expression.Parameter(typeof(int), "param1"), Expression.Parameter(typeof(int), "param2"));
var expr2 = Expression.Equal(Expression.Parameter(typeof(int), "param3"), Expression.Parameter(typeof(int), "param4"));
var finalExpression = Expression.And(expr1, expr2);
Ich versuche nach substiting die Parameter mit Werten
bool returnBool = Expression.Lambda<Func<bool>>(finalExpression).Compile()();
Danke Marc Gravell. Ich akzeptiere @SLaks Antwort, aber ich würde wahrscheinlich am Ende mit ExpressionVisitor später für eine bessere Lösung –
@ManojSreekumar kein Problem; und ich habe nachgeschlagen - es ist 'Expression.Invoke'. Also 'var newBody = Ausdruck.Lambda (oldLambda, Expression.Constant (123), Expression.Constant (" abc "));' etc –