me gustaría un método que tiene las siguientes API:C# método que acepta un predicado: ¿se ve bien?
//get all users with a role of admin
var users = myRepository.GetUsers(u => u.Role == Role.Admin);
Will algo así como este trabajo?
IList<User> GetUsers(Func<User, bool> predicate)
{
var users = GetAllUsers();
return users.Where(predicate).ToList();
}
Si es así, yo wil ser capaz de especificar predicados más complejas, tales como (pseudocódigo):
myRepository.GetUsers(u => u.CreatedDate is upto 14 days old);
¿Por qué no quieres devolver un número de usuarios de IEnumerable? –
¿Es preferible un IEnumerable porque es más flexible? – Ben
Un IList es un IEnumerable, por lo que un IEnumerable será menos flexible. Creo que el comentario puede haberse dirigido a la posible llamada innecesaria a ToList()? –