我有一段非常简单的代码(从原始代码中简化而来,所以我知道这不是一段非常聪明的代码),当我在Visual Studio 2010中编译并使用Code Analysis时,会给出一个警告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的bug吗?
更新