Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Instrukcja Embedded nie może być deklaracją ani instrukcją oznaczoną etykietą
Osadzona instrukcja, taka jak instrukcje po instrukcji if , nie może zawierać deklaracji ani instrukcji oznaczonych etykietami.
Aby rozwiązać ten błąd, zawij osadzoną instrukcję w podwójnymi nawiasami klamrowymi, aby utworzyć blok instrukcji. W języku C#, w przeciwieństwie do języka C/C++, deklaracje zmiennych i instrukcje oznaczone etykietami muszą być zawarte w instrukcji bloku, aby prawidłowo zdefiniować ich zakres.
Poniższy przykład wywołuje dwukrotnie CS1023:
// 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
}
}
Przykład — poprawiony kod
Aby naprawić ten błąd, użyj nawiasów klamrowych, aby utworzyć instrukcję blokową.
// 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
}
}
}