bool
型指定されたラムダ式を反転する必要がある式拡張メソッドを作成しています。
これが私がやっていることです:
public static Expression<Func<T, bool>> Inverse<T>(this Expression<Func<T, bool>> e)
{
return Expression.Lambda<Func<T, bool>>(Expression.Not(e));
}
しかし、これは例外を発生させunary operator is NOT not defined for the type Func<int,bool>
ます。私もこれを試しました:
public static Expression<Func<T, bool>> Inverse<T>(this Expression<Func<T, bool>> e)
{
return Expression.Lambda<Func<T, bool>>(Expression.Not(e.Body));
}
しかし、これを得る: Incorrent number of parameters supplied for lambda declaration
.