0

これは非常に単純かもしれませんが、夜遅くです...私には2つの方法があります:

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 違反を適切な一般的な方法に因数分解する方法は? シンプルに感じますが、今のところ解決策はわかりません。

4

1 に答える 1

4
public IQueryable<Post> GetWithSticky(bool isSticky)
{
   return Get().Where(p => (p.Type == PostType.Sticky) == isSticky);
}
于 2012-04-25T23:40:38.080 に答える