Could somebody explain the following declaration in a way that conveys the meaning of the expression and how it would be called?
void Delete<T>(Expression<Func<T, bool>> expression) where T : class, new();
I read it as:
Delete an object of type T
, by passing in a lambda expression whose parameter is an object of type T
that returns a bool
.
Also, can you replace
Func<T, bool> expression
with
Predicate<T> expression