Udostępnij za pośrednictwem


Operator TryCast (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 Nic (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 Funkcja CType (Visual Basic) i Operator DirectCast (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 Nic (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

Funkcja CType (Visual Basic)

Wszystkie typy danych

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

WyrzucaInvalidCastException

Operator DirectCast (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

ZwracaNic (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 zawężanie konwersji (Visual Basic)

Konwersje niejawne i jawne (Visual Basic)