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í |
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 |
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