这可能很简单,但是已经很晚了......我有两种方法:
public IQueryable<Post> GetNotSticky()
{
return Get().Where(p => p.Type != PostType.Sticky);
}
反向
public IQueryable<Post> GetSticky()
{
return Get().Where(p => p.Type == PostType.Sticky);
}
如您所见,运营商是唯一的区别。如何将这种DRY违规分解为一个很好的常用方法?感觉很简单,但现在解决方案让我望而却步。
答案 0 :(得分:4)
public IQueryable<Post> GetWithSticky(bool isSticky)
{
return Get().Where(p => (p.Type == PostType.Sticky) == isSticky);
}