Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Introduit une opération de conversion de type qui ne lève pas d’exception.
Remarques
Si une tentative de conversion échoue et CTypeDirectCast 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 l’opérateur 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 |
|---|---|---|---|
| Opérateur CType | 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