TryCast — Operator (Visual Basic)
Wprowadza operacji konwersji typu, który nie Zgłoś wyjątek.
Uwagi
Jeśli nie powiedzie się próba konwersji, CType i DirectCast zarówno throw InvalidCastException błąd.Może to niekorzystnie wpłynąć na wydajność aplikacji.TryCastZwraca Nothing (Visual Basic), dzięki czemu zamiast obsłużyć wyjątek możliwe, należy tylko test zwracany wynik przeciwko Nothing.
Za pomocą TryCast taki sam sposób, można użyć słowa kluczowego CType — Funkcja (Visual Basic) i DirectCast — Operator (Visual Basic) słowa kluczowego.Musisz wpisać wyrażenie jako pierwszy argument i typu do konwertowania jako drugi argument.TryCastdziała tylko na typy odwołań, takich jak klas i interfejsów.Wymaga ono na dziedziczenie lub wykonania relację między tymi dwoma typami.Oznacza to, że jeden typ musi dziedziczyć lub wykonania drugiej.
Błędy i błędy
TryCastgeneruje błąd kompilatora, jeśli wykryje, że istnieje żadnej relacji dziedziczenia lub wykonania.Jednak brak błąd kompilatora nie gwarantuje pomyślne konwersji.Jeśli żądany rodzaj konwersji jest zawężenie, może nie działać w czasie wykonywania.Jeśli tak się stanie, TryCast zwraca Nothing (Visual Basic).
Słowa kluczowe konwersji
Porównanie wpisz słowa kluczowe konwersji jest następująca:
Słowo kluczowe |
Typy danych |
Argument relacji |
Błąd czasu wykonywania |
Wszystkie typy danych |
Rozszerzenie lub zwężenie konwersji należy zdefiniować między typami danych dwóch |
WyrzucaInvalidCastException |
|
Wszystkie typy danych |
Jeden typ musi dziedziczyć lub wdrożenia innego typu |
WyrzucaInvalidCastException |
|
TryCast |
Tylko typy odwołań |
Jeden typ musi dziedziczyć lub wdrożenia innego typu |
ZwracaNothing (Visual Basic) |
Przykład
Poniższy przykład pokazuje, jak używać TryCast.
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