2010-09-24 6 views

Respuesta

10

Tienes que volver a crear una nueva lambda, y negar el cuerpo del original uno:

Expression<Func<T, bool>> not = Expression.Lambda<Func<T, bool>> (
    Expression.Not (matchExpression.Body), 
    matchExpression.Parameters [0]); 
+0

Eso es mejor; Estaba teniendo un pedo cerebral; p –

+1

(se podía pasar en matchExpression.Parameters - sería lo mismo) –

+0

@Marc: Claro. Pero en ese caso específico, me gusta que expresa la intención de negar el predicado con un parámetro. –

Cuestiones relacionadas