Ein Typparameter mit einer Structure-Einschränkung kann nicht als Einschränkung verwendet werden

Aktualisiert: November 2007

Type parameter with a 'Structure' constraint cannot be used as a constraint

Ein Typparameter mit einer Structure-Einschränkung wird als Einschränkung für einen anderen Typparameter verwendet.

Die Structure-Einschränkung erfordert, dass das an ihren Typparameter übergebene Typargument ein Werttyp ist. Ein Werttyp kann jedoch weder implementiert noch vererbt werden. Die Verwendung eines Werttyps als Einschränkung ergibt daher keinen Sinn, da sie erfordert, dass der andere Typparameter den Werttyp implementiert oder von diesem erbt.

Diese Situation kann nur einen Sinn ergeben, wenn beide Typargumente genau den gleichen Typ aufweisen. Wenn dies der Fall ist, erfordert der generische Typ nur einen Typparameter.

Dieser Fehler kann durch die folgende Anweisung generiert werden.

Class c1(Of t1 As Structure, t2 As t1)

Der an t2 übergebene Typ kann den an t1 übergebenen Typ weder implementieren noch erben, da der an t1 übergebene Typ ein Werttyp sein muss.

Fehler-ID: BC32114

So beheben Sie diesen Fehler

  • Entfernen Sie den auf Structure eingeschränkten Typparameter aus der Einschränkungsliste des anderen Typparameters.

  • Wenn beide Typparameter denselben Werttyp erfordern, definieren Sie den generischen Typ mit nur einem Typparameter.

Siehe auch

Konzepte

Generische Typen in Visual Basic

Wert- und Verweistypen

Referenz

Typenliste

Structure (Visual Basic)