Анализатор обнаружил потенциальную ошибку, связанную с тем, что пропущена инициализация переменной или свойства.
Рассмотрим это на примере:
class A
{
int field1;
string field2;
string field3;
....
public void foo(int value)
{
field1 = value;
field2 = // <=
field3 = GetInitialization(value);
}
}
В данном примере разработчик отложил инициализацию поля 'field2' в надежде на то, что этот код не скомпилируется, и тем самым напомнит о пропущенной инициализации. Но в данном случае код будет успешно скомпилирован. Полю 'field2' будет присвоено значение поля 'field3'.
Похожая ситуация может возникнуть во время декларации, например:
int b, c;
int a =
b = c = 2;
Этот код выглядит очень подозрительно. Непонятно чем хотели инициализировать переменную 'a'.
Анализатор не будет выдавать предупреждение в ряде случаев, когда понятно, что код написан подобным образом специально.
Например, есть отступы относительно первой строки:
var1 =
var2 = 100;
Другой пример, если нет отступа, но подобным образом значение записывается в несколько переменных:
var1 =
var2 =
var3 =
var4 = 100;