Quiero redactar los resultados de dos expresiones de Linq. Existen en la formaCómo redacto expresiones de Linq existentes
Expression<Func<T, bool>>
Así que los dos que quiero componer son esencialmente los delegados en un parámetro (de tipo T) que tanto devolver un valor booleano. El resultado que quisiera compilar sería la evaluación lógica de los booleanos. Yo probablemente implementarlo como un método de extensión por lo que mi sintaxis sería algo así como:
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);
Y más adelante en mi código Deseo evaluar la expresión compuesta
var user = new User();
bool evaluated = composedExpression.Compile().Invoke(user);
He empujado por ahí con una pocas ideas diferentes, pero me temo que es más complejo de lo que esperaba. ¿Cómo se hace esto?