Запретить присваивание в условном выражении в visual studio 2010
Учитывая следующий код:
bool test = false;
bool test2 = true;
if (test = test2)
{
}
Я хочу получить предупреждение при компиляции этого кода, как, вероятно, я хотел == вместо этого. Я не получаю предупреждения от компилятора и нигде не могу найти для него правила анализа кода (fxcop или stylecop).
Самое близкое предупреждение компилятора, которое я нашел, было CS0665: http://msdn.microsoft.com/en-us/library/c1sde1ax%28v=vs.90%29.aspx Но это срабатывает, только если я это сделаю:
if (test = true)
- Кто-нибудь может указать мне на существующее правило или инструмент, который я могу интегрировать в процесс сборки, который сработает на этом?
- Есть ли веская причина, почему мы хотели бы разрешить эту первую конструкцию?
1 ответ
ReSharper отобразит предупреждение об этом, говоря:
Expression is always true
Я бы предложил использовать "Настроить серьезность проверки" и обновить его до Error