A predicate delegate is a delegate with the following signature:
- Return type -
bool - Argument type - generic
So, a predicate delegate is a delegate which points to a boolean function that returns
true or false and takes a generic type as an argument. A predicate delegate thus is a delegate which is capable of taking any custom type as an argument. This makes it quite useful because what we get as a result is a generic delegate. The bool function that it points to has logic to evaluate any condition and return true/false accordingly.