Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Uso del parámetro out sin asignar "parameter"
El compilador no pudo comprobar que el parámetro out se hubiera asignado a un valor antes de usarlo; es posible que su valor no estuviera definido al asignarlo. Asegúrese de asignar un valor a los parámetros out
en el método al que se ha llamado antes de tener acceso al valor. Si necesita usar el valor de la variable que se ha pasado, use un parámetro ref
en su lugar. Para obtener más información, vea Parámetros de método.
En el ejemplo siguiente se genera el error CS0269:
// CS0269.cs
class C
{
public static void F(out int i)
// One way to resolve the error is to use a ref parameter instead
// of an out parameter.
//public static void F(ref int i)
{
// The following line causes a compiler error because no value
// has been assigned to i.
int k = i; // CS0269
i = 1;
// The error does not occur if the order of the two previous
// lines is reversed.
}
public static void Main()
{
int myInt = 1;
F(out myInt);
// If the declaration of method F is changed to require a ref
// parameter, ref must be specified in the call as well.
//F(ref myInt);
}
}
También se puede producir si la inicialización de una variable tiene lugar en un bloque try y el compilador no puede comprobar si este se ejecutará de manera correcta:
// CS0269b.cs
class C
{
public static void F(out int i)
{
try
{
// Assignment occurs, but compiler can't verify it
i = 1;
}
catch
{
}
int k = i; // CS0269
i = 1;
}
public static void Main()
{
int myInt;
F(out myInt);
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Selecciona un vínculo para proporcionar comentarios: