@MarcGravell Большое спасибо за публикацию этого ответа, очень полезно.
аюсь динамически создавать выражения на основе объекта спецификации.
Я создал класс ExpressionHelper, который имеет частное выражение, например:
private Expression<Func<T, bool>> expression;
public ExpressionHelper()
{
expression = (Expression<Func<T, bool>>)(a => true);
}
А потом несколько простых методов:
public void And(Expression<Func<T,bool>> exp);
Я борюсь с телом метода And. Я в основном хочу вырвать тело изexp
замените все параметры наexpression
а затем добавить его в конецexpression
Кузов как и А также.
Я сделал это:
var newBody = Expression.And(expression.Body,exp.Body);
expression = expression.Update(newBody, expression.Parameters);
Но в итоге мое выражение выглядит так:
{ a => e.IsActive && e.IsManaged }
Есть ли более простой способ сделать это? Или как я могу вырвать эти е и заменить их на а?