How to return a named predicates - C#