TryCast-Operanden müssen Typparameter mit Klasseneinschränkung sein, aber '<Typparametername>' hat keine Klasseneinschränkung
Aktualisiert: November 2007
'TryCast' operands must be class-constrained type parameters, but '<typeparametername>' has no class constraint
Der TryCast-Operator wird mit einem Typparameteroperanden verwendet, der möglicherweise kein Verweistyp ist.
TryCast kann nur für Verweistypen, z. B. Klassen oder Schnittstellen, verwendet werden. Wenn Sie einen Typparameter als Argument an TryCast übergeben, müssen Sie diesen Typparameter auf einen Verweistyp einschränken. Zu diesem Zweck können Sie in die Einschränkungsliste des Typparameters eines oder mehrere der folgenden Elemente einfügen:
Eine oder mehrere Schnittstellennamen (das Typargument muss sie alle implementieren)
Höchstens ein Klassenname (das Typargument muss diesen erben)
Die New (Visual Basic)-Einschränkung (das Typargument muss einen parameterlosen Konstruktor verfügbar machen, auf den der erstellende Code zugreifen kann, und muss daher eine Klasse sein)
Die Class (Visual Basic)-Einschränkung (das Typargument muss ein Verweistyp sein)
Fehler-ID: BC30793
So beheben Sie diesen Fehler
Wenn Sie diesen Typparameter an TryCast übergeben müssen, schränken Sie ihn mit einer oder mehreren der Einschränkungen in der obigen Liste ein.
Wenn Sie nicht festlegen können, dass der Typparameter nur einen Verweistyp akzeptieren darf, können Sie ihn nicht mit TryCast verwenden. Möglicherweise können Sie stattdessen die CType-Funktion verwenden.
Siehe auch
Konzepte
Generische Typen in Visual Basic
Erweiternde und eingrenzende Konvertierungen
Implizite und explizite Konvertierungen