Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Führt einen Typkonvertierungsvorgang ein, der keine Ausnahme auslöst.
Bemerkungen
Wenn eine versuchte Konvertierung fehlschlägt und CTypeDirectCast beide einen InvalidCastException Fehler auslösen. Dies kann sich negativ auf die Leistung Ihrer Anwendung auswirken.
TryCast gibt Nothing zurück, sodass Sie anstelle einer möglichen Ausnahme nur das zurückgegebene Ergebnis Nothingtesten müssen.
Sie verwenden das TryCast Schlüsselwort auf die gleiche Weise wie den CType-Operator und das DirectCast-Operator-Schlüsselwort . Sie geben einen Ausdruck als erstes Argument und einen Typ an, in den er als zweites Argument konvertiert werden soll.
TryCast wird nur für Referenztypen verwendet, z. B. Klassen und Schnittstellen. Es erfordert eine Vererbungs- oder Implementierungsbeziehung zwischen den beiden Typen. Dies bedeutet, dass ein Typ von dem anderen erben oder implementieren muss.
Fehler und Fehler
TryCast generiert einen Compilerfehler, wenn erkannt wird, dass keine Vererbungs- oder Implementierungsbeziehung vorhanden ist. Das Fehlen eines Compilerfehlers garantiert jedoch keine erfolgreiche Konvertierung. Wenn die gewünschte Konvertierung eingeschränkt wird, kann sie zur Laufzeit fehlschlagen. Wenn dies der Fall ist, TryCast wird Nothing zurückgegeben.
Schlüsselwörter für Konversionen
Ein Vergleich der Typkonvertierungsstichwörter lautet wie folgt.
| Schlüsselwort | Datentypen | Argumentbeziehung | Laufzeitfehler |
|---|---|---|---|
| CType-Operator | Alle Datentypen | Die Verbreiterung oder Verengungskonvertierung muss zwischen den beiden Datentypen definiert werden. | Wirft InvalidCastException |
| DirectCast-Operator | Alle Datentypen | Ein Typ muss von dem anderen Typ erben oder implementieren. | Wirft InvalidCastException |
TryCast |
Nur Referenztypen | Ein Typ muss von dem anderen Typ erben oder implementieren. | Gibt Nothing zurück. |
Beispiel
Das folgende Beispiel zeigt, wie TryCastverwendet wird.
Function PrintTypeCode(ByVal obj As Object) As String
Dim objAsConvertible As IConvertible = TryCast(obj, IConvertible)
If objAsConvertible Is Nothing Then
Return obj.ToString() & " does not implement IConvertible"
Else
Return "Type code is " & objAsConvertible.GetTypeCode()
End If
End Function