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.
La instrucción insertada no puede ser una declaración ni una instrucción etiquetada
Una instrucción insertada, como las instrucciones que siguen a una instrucción if , no pueden contener declaraciones ni instrucciones etiquetadas.
Para resolver este error, encapsula la instrucción insertada entre llaves para crear una instrucción block. En C#, a diferencia de C/C++, las declaraciones de variables y las instrucciones etiquetadas deben estar contenidas dentro de una instrucción de bloque para definir correctamente su ámbito.
El ejemplo siguiente genera la advertencia CS1023 dos veces:
// CS1023.cs
public class a
{
public static void Main()
{
if (1)
int i; // CS1023, declaration is not valid here
if (1)
xx : i++; // CS1023, labeled statement is not valid here
}
}
Ejemplo: código corregido
Para corregir este error, use llaves para crear una instrucción block:
// CS1023 - Fixed.cs
public class a
{
public static void Main()
{
if (1)
{
int i; // Fixed: declaration is now in a block statement
}
int j = 0;
if (1)
{
xx : j++; // Fixed: labeled statement is now in a block statement
}
}
}