Compilerfehler CS0110
Die Auswertung des Konstantenwerts für "const-Deklaration" bezieht eine zirkuläre Definition ein.
Die Deklaration einer const-Variablen kann nicht in einer Weise, durch die eine Ringabhängigkeit entsteht, auf eine andere const-Variable verweisen. Dies gilt auch für zugeordnete Konstantenwerte von Enumerationsmembern.
Beispiel
Der zugeordnete Konstantenwert von MyClass.Color.Red
ist explizit auf MyClass.Color.Blue
festgelegt, der Wert von MyClass.Color.Blue
ist jedoch vom vorherigen Enumerationsmember (MyClass.Color.Red
) abhängig, sodass beide Konstantenwerte nicht bestimmt werden können. Ebenso wird die Konstantenvariable MyClass.a
in Bezug auf MyClass.b
definiert, aber auch in Bezug auf MyClass.a
.
Im folgenden Beispiel wird CS0110 generiert:
// CS0110.cs
// compile with: /target:library
class MyClass
{
enum Color
{
Red = Blue, // CS0110
Blue,
}
public const int a = b + 1; // CS0110
public const int b = a + 1;
}
Um diesen Fehler zu beheben, unterbrechen Sie den Zirkelbezug, indem Sie die Definition ändern oder entfernen.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für