2012-04-25 3 views
0

Это может быть очень простой, но это поздно ночью ... У меня есть два метода:Как разложить оператор?

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
public IQueryable<Post> GetWithSticky(bool isSticky) 
{ 
    return Get().Where(p => (p.Type == PostType.Sticky) == isSticky); 
} 
+0

Почти символ для символа, включая имя параметра, nice :-) – yamen

+0

@yamen За исключением вашего сломана. –

+1

@yamen awww, я подумал, что это смешно; вам не нужно было отзывать ответ. Детали, детали. :) Я должен запустить другой аккаунт под названием CaseSensitivityNazi. ;) –

Смежные вопросы