次の API を持つメソッドが必要です。
//get all users with a role of admin
var users = myRepository.GetUsers(u => u.Role == Role.Admin);
このようなものは機能しますか?
IList<User> GetUsers(Func<User, bool> predicate)
{
var users = GetAllUsers();
return users.Where(predicate).ToList();
}
もしそうなら、(疑似コード)のようなより複雑な述語を指定できるでしょうか:
myRepository.GetUsers(u => u.CreatedDate is upto 14 days old);