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

CType — Funkcja (Visual Basic)

Wszystkie typy danych

Rozszerzenie lub zwężenie konwersji należy zdefiniować między typami danych dwóch

WyrzucaInvalidCastException

DirectCast — Operator (Visual Basic)

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

Zobacz też

Koncepcje

Rozszerzanie i zwężanie konwersji (Visual Basic)

Konwersje jawne i niejawne (Visual Basic)