Tengo un código muy simple (simplificado del código original, así que sé que no es un código muy inteligente) que cuando compilo en Visual Studio 2010 con Code Analysis me da una advertencia CA1062: Valida los argumentos de los métodos públicos.¿Por qué obtengo Code Analysis CA1062 en un parámetro out en este código?
public class Foo
{
protected static void Bar(out int[] x)
{
x = new int[1];
for (int i = 0; i != 1; ++i)
x[i] = 1;
}
}
La advertencia me sale:
CA1062: Microsoft.Design: En método visible externamente 'Foo.Bar (fuera int [])', validar variable local '(x *) ', que fue reasignado del parámetro' x ', antes de usarlo.
No entiendo por qué aparece esta advertencia y cómo puedo resolverla sin suprimirla? ¿Puede new
devolver null
? ¿Es esto un error de Visual Studio 2010?
ACTUALIZACIÓN
he decidido abrir a bug report on Microsoft Connect.
Me pregunto si el problema está en otra parte ... –
nuevo no repro. No hay nada que validar Ha publicado otras advertencias de análisis de código que no reproducen. Si ha realizado cambios en la configuración, asegúrese de documentarlos. –
@ Hans Passant, ¿está seguro de que está ejecutando todas las reglas de análisis de código de Microsoft en Visual Studio 2010? – brickner