Operátor TryCast (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í Nic (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 Funkce CType (Visual Basic) a Operátor DirectCast (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í Nic (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í |
Všechny datové typy |
Rozšíření nebo zúžení převodu musí být definována mezi dvěma datovými typy |
VyvoláInvalidCastException |
|
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íNic (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