Why do I get Code Analysis CA1062 on an out parameter in this code?
- by brickner
I have a very simple code (simplified from the original code - so I know it's not a very clever code) that when I compile in Visual Studio 2010 with Code Analysis gives me warning CA1062: Validate arguments of public methods.
public class Foo
{
protected static void Bar(out int[] x)
{
x = new int[1];
for (int i = 0; i != 1; ++i)
x[i] = 1;
}
}
The warning I get:
CA1062 : Microsoft.Design : In
externally visible method 'Foo.Bar(out
int[])', validate local variable
'(*x)', which was reassigned from
parameter 'x', before using it.
I don't understand why do I get this warning and how can I resolve it without suppressing it? Can new return null? Is this a Visual Studio 2010 bug?