У меня очень простой код (упрощенный по сравнению с исходным кодом - поэтому я знаю, что это не очень умный код), который при компиляции в Visual Studio 2010 с анализом кода выдает предупреждение CA1062: Проверить аргументы общедоступных методов.
public class Foo
{
protected static void Bar(out int[] x)
{
x = new int[1];
for (int i = 0; i != 1; ++i)
x[i] = 1;
}
}
Я получаю предупреждение:
CA1062: Microsoft.Design: во внешне видимом методе 'Foo.Bar (out int [])' проверьте локальную переменную '(* x)', которая была переназначена из параметра 'x', перед ее использованием.
Я не понимаю, почему я получаю это предупреждение и как его устранить, не подавляя его? Может new
вернуть null
? Это ошибка Visual Studio 2010?
ОБНОВЛЕНИЕ
Я решил открыть отчет об ошибке в Microsoft Connect.