Delen via


Compilerfout CS1023

Ingebedde instructie kan geen declaratie of gelabelde instructie zijn

Een ingesloten instructie, zoals de instructies na een if-instructie , kan geen declaraties of gelabelde instructies bevatten.

U kunt deze fout oplossen door de ingesloten instructie tussen accolades te verpakken om een blokinstructie te maken. In C# moeten variabeledeclaraties en gelabelde instructies, in tegenstelling tot C/C++, worden opgenomen in een blokinstructie om hun bereik correct te definiƫren.

In het volgende voorbeeld wordt CS1023 tweemaal gegenereerd:

// 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  
   }  
}  

Voorbeeld: gecorrigeerde code

Als u deze fout wilt oplossen, gebruikt u accolades om een codeblok te maken.

// 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  
      }
   }  
}