Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Introducerar en typkonverteringsåtgärd som inte utlöser ett undantag.
Anmärkningar
Om ett konverteringsförsök misslyckas CType och DirectCast båda utlöser ett InvalidCastException fel. Detta kan påverka programmets prestanda negativt. 
              TryCast returnerar Ingenting, så att du i stället för att behöva hantera ett möjligt undantag bara behöver testa det returnerade resultatet mot Nothing.
Du använder nyckelordet TryCast på samma sätt som du använder nyckelordet CType Operator och DirectCast Operator . Du anger ett uttryck som det första argumentet och en typ att konvertera det till som det andra argumentet. 
              TryCast fungerar endast på referenstyper, till exempel klasser och gränssnitt. Det kräver en arvs- eller implementeringsrelation mellan de två typerna. Det innebär att en typ måste ärva från eller implementera den andra.
Fel och fel
              TryCast genererar ett kompilatorfel om det upptäcker att det inte finns någon arvs- eller implementeringsrelation. Men avsaknaden av ett kompilatorfel garanterar inte en lyckad konvertering. Om den önskade konverteringen minskar kan den misslyckas vid körning. Om detta händer TryCast returnerar ingenting.
Konverteringsnyckelord
En jämförelse av nyckelorden för typkonvertering är följande.
| Nyckelord | Datatyper | Argumentrelation | Körningsfel | 
|---|---|---|---|
| CType-operator | Alla datatyper | Utvidga eller begränsa konverteringen måste definieras mellan de två datatyperna | Kastar InvalidCastException | 
| DirectCast-operator | Alla datatyper | En typ måste ärva från eller implementera den andra typen | Kastar InvalidCastException | 
TryCast | 
Endast referenstyper | En typ måste ärva från eller implementera den andra typen | Returnerar ingenting | 
Exempel
I följande exempel visas hur du använder 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