Compilerfehler CS0456
Typparameter „Type Parameter Name 1“ weist die Einschränkung „struct“ auf, daher kann „Type Parameter Name 1“ nicht als Einschränkung für „Type Parameter Name 2“ verwendet werden.
Werttypeinschränkungen sind implizit versiegelt, sodass diese Einschränkungen nicht als Einschränkungen für einen zweiten Typparameter verwendet werden können. Grund hierfür ist, dass Werttypen nicht außer Kraft gesetzt werden können. Um diesen Fehler zu beheben, legen Sie Werttypeinschränkung direkt für den zweiten Typparameter, anstatt indirekt mit dem ersten Typparameter fest.
Beispiel
Im folgenden Beispiel wird CS0456 generiert:
// CS0456.cs
// compile with: /target:library
public class GenericsErrors
{
public class G5<T> where T : struct
{
public class N<U> where U : T {} // CS0456
public class N2<U> where U : struct {} // OK
}
}
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