Анализатор обнаружил инструкцию, относящуюся к оператору 'if'. При этом форматирование не соответствует логике исполнения: код может содержать ошибку.
Рассмотрим пример:
string GetArgumentPositionStr(Argument argument) { if (argument.first) return "first"; if (argument.second) if (argument.third) return "third"; return String.Empty; }
В данном примере пропущена 'then' ветвь условной конструкции 'if (argument.second)'. Из-за этого ошибочный фрагмент кода будет работать так же, как и приведённый ниже:
if (argument.second) { if (argument.third) return "third"; }
Исправленный вариант:
string GetArgumentPositionStr(Argument argument) { if (argument.first) return "first"; if (argument.second) return "second"; if (argument.third) return "third"; return String.Empty; }
Данная диагностика классифицируется как: