我有一個非常簡單的代碼(從原始代碼簡化 - 所以我知道這不是一個非常聰明的代碼),當我在代碼分析的Visual Studio 2010中編譯時,我警告CA1062:驗證公共方法的參數。爲什麼我在代碼中的out參數上得到代碼分析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(下 INT [])',驗證局部變量 「(* X )',在使用前從 參數'x'重新分配。
我不明白爲什麼我會得到這個警告,我該如何解決它而不壓制它? new
可以返回null
?這是一個Visual Studio 2010錯誤?
UPDATE
我決定開a bug report on Microsoft Connect。
我不知道這個問題是在別處...... – 2010-05-18 20:42:38
再沒有攝製。沒有什麼可以驗證的。您已發佈其他代碼分析警告,不會重新制作。如果你做了任何配置更改,那麼一定要記錄它們。 – 2010-05-18 20:46:37
@Hans Passant,你確定你正在運行Visual Studio 2010中的所有微軟代碼分析規則嗎? – brickner 2010-05-18 20:48:17