Sdílet prostřednictvím


TryCast – operátor (Visual Basic)

Uvádí typ operace převodu, který není vyvoláním výjimky.

Poznámky

Pokud se nezdaří pokus o převod, CType a DirectCast vyvoláním i InvalidCastException chyba.To může nepříznivě ovlivnit výkon aplikace.TryCastVrátí Nothing (Visual Basic)tak, aby namísto zpracování možné výjimky nutné pouze zkušební vrácených výsledků proti Nothing.

Použití TryCast stejným způsobem pomocí klíčového slova CType – funkce (Visual Basic) a DirectCast – operátor (Visual Basic) klíčové slovo.Můžete zadat výraz, jako první argument a typ, který chcete převést na jako druhý argument.TryCastpracuje pouze s typy odkazů, jako je například třídy a rozhraní.To vyžaduje vztahu dědičnosti nebo provádění mezi dvěma typy.To znamená, že jeden typ musí dědit z nebo provádět ostatní.

Chyby a chyby

TryCastzjistí, že neexistuje žádný vztah dědičnosti nebo provádění, vygeneruje se chyba kompilátoru.Ale nedostatek chyba kompilátoru nezaručuje úspěšné převodu.Požadovaný převod je zúžení, pravděpodobně nezdaří v době spuštění.V tomto případě TryCast vrátí Nothing (Visual Basic).

Klíčová slova pro převod

Porovnání klíčových slov typu převodu je následující.

Klíčové slovo

Typy dat

Argument vztah

Chyba spuštění

CType – funkce (Visual Basic)

Všechny datové typy

Rozšíření nebo zúžení převodu musí být definována mezi dvěma datovými typy

VyvoláInvalidCastException

DirectCast – operátor (Visual Basic)

Všechny datové typy

Jeden typ musí dědit z nebo provádět jiný typ

VyvoláInvalidCastException

TryCast

Pouze typy odkazů

Jeden typ musí dědit z nebo provádět jiný typ

VrátíNothing (Visual Basic)

Příklad

Následující příklad ukazuje použití 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

Viz také

Koncepty

Rozšíření a zúžení převodů (Visual Basic)

Implicitní a explicitní převody (Visual Basic)