Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Introduit une opération de conversion de type qui ne lève pas d’exception.
Remarques
Si une tentative de conversion échoue et CType
DirectCast
lève une InvalidCastException erreur. Cela peut affecter les performances de votre application.
TryCast
renvoie Nothing, de sorte qu’au lieu d’avoir à gérer une exception possible, vous n’avez besoin que de tester le résultat retourné par rapport Nothing
à .
Vous utilisez le mot clé de la TryCast
même façon que vous utilisez la fonction CType et le mot clé de l’opérateur DirectCast . Vous fournissez une expression en tant que premier argument et un type pour le convertir en tant que deuxième argument.
TryCast
fonctionne uniquement sur les types de référence, tels que les classes et les interfaces. Elle nécessite une relation d’héritage ou d’implémentation entre les deux types. Cela signifie qu’un type doit hériter ou implémenter l’autre.
Erreurs et échecs
TryCast
génère une erreur du compilateur si elle détecte qu’aucune relation d’héritage ou d’implémentation n’existe. Mais l’absence d’erreur du compilateur ne garantit pas une conversion réussie. Si la conversion souhaitée est étroite, elle peut échouer au moment de l’exécution. Si cela se produit, TryCast
retourne Nothing.
Mots clés de conversion
Une comparaison des mots clés de conversion de type est la suivante.
Mot-clé | Types de données | Relation d’argument | Échec de l’exécution |
---|---|---|---|
CType, fonction | Tous les types de données | La conversion d’élargissement ou de réduction doit être définie entre les deux types de données | Jette InvalidCastException |
Opérateur DirectCast | Tous les types de données | Un type doit hériter ou implémenter l’autre type | Jette InvalidCastException |
TryCast |
Types de référence uniquement | Un type doit hériter ou implémenter l’autre type | Renvoie Nothing |
Exemple :
L’exemple suivant montre comment utiliser 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