Ich habe einen sehr einfachen Code (vereinfacht aus dem ursprünglichen Code - damit ich weiß, es ist kein sehr cleverer Code), dass, wenn ich in Visual Studio 2010 mit Code-Analyse kompilieren gibt CA1062 Warnung: Argumente der öffentlichen Methoden zu validieren.Warum bekomme ich Code-Analyse CA1062 auf einen out-Parameter in diesem Code?
public class Foo
{
protected static void Bar(out int[] x)
{
x = new int[1];
for (int i = 0; i != 1; ++i)
x[i] = 1;
}
}
Die Warnung, die ich erhalten:
CA1062: Microsoft.Design: In äußerlich sichtbare Methode 'Foo.Bar (out int [])', validieren lokale Variable ‚(* x) ', die von Parameter' x 'neu zugewiesen wurde, bevor Sie es verwenden.
Ich verstehe nicht, warum bekomme ich diese Warnung und wie kann ich es lösen, ohne es zu unterdrücken? Kann new
zurückgeben null
? Ist das ein Visual Studio 2010-Fehler?
UPDATE
Ich habe beschlossen, a bug report on Microsoft Connect zu öffnen.
Ich frage mich, ob das Problem an anderer Stelle ist ... –
Wieder kein Repro. Es gibt nichts zu bestätigen. Sie haben andere Codeanalysewarnungen gepostet, die nicht repro vorgehen. Wenn Sie Konfigurationsänderungen vorgenommen haben, sollten Sie diese dokumentieren. –
@Hans Passant, sind Sie sicher, dass Sie alle Microsoft Code-Analyse-Regeln in Visual Studio 2010 ausführen? – brickner