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.
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 zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: