Vorrei un metodo che ha il seguente API:Metodo C# che accetta un predicato: sembra ok?
//get all users with a role of admin
var users = myRepository.GetUsers(u => u.Role == Role.Admin);
Will qualcosa di simile a questo lavoro?
IList<User> GetUsers(Func<User, bool> predicate)
{
var users = GetAllUsers();
return users.Where(predicate).ToList();
}
Se è così, Wil io sia in grado di specificare predicati più complessi come (pseudocodice):
myRepository.GetUsers(u => u.CreatedDate is upto 14 days old);
Perché non si desidera restituire un IEnumerable di utenti? –
È preferibile un oggetto IEnumerable perché è più flessibile? – Ben
Un IList è un IEnumerable, quindi un IEnumerable sarà meno flessibile. Penso che il commento potrebbe essere stato indirizzato verso la possibile chiamata non necessaria a ToList()? –