Я хочу настроить шаблоны ReSharper для перехвата операторов if, которые явно не сравниваются с истиной (т. Е. if(foo)
), и условий, которые имеют значение true в качестве второго аргумента сравнения (т. Е. if(foo == true)
- я хочу, чтобы trueбыть первым, также известным как условие йода)
Я бы хотел, чтобы следующее было поймано
// given foo is a bool
// and Bar() returns bool
if (foo)
{
}
if (Bar())
{
}
if (foo == true)
{
}
Пока мне удалось получить сравнение, которое соответствует первому случаю, хотяЯ не уверен, что это лучший способ, и может ли он вызвать какие-либо ложные срабатывания ..
![Pattern catching no explicit comparison](https://i.stack.imgur.com/IREjN.png)
1) Есть ли шанс, что сравнениеможет поймать что-нибудь непреднамеренное?
2) Есть ли способ поймать два других случая?
Примечание: я работаю с руководством по стилю, которое я не могу изменить, поэтому мне приходится кодировать таким образом, даже если неявные версии чище ...