Fonction CType (Visual Basic)
Retourne le résultat d'une conversion explicite d'une expression en un type de données, objet, structure, classe ou interface spécifié.
CType(expression, typename)
Composants
expression
Toute expression valide. Si la valeur de expression se trouve en dehors de la plage autorisée par typename, Visual Basic lève une exception.typename
Toute expression valide au sein d'une clause As d'une instruction Dim, c'est-à-dire le nom de tout type de données, objet, structure, classe ou interface.
Notes
Conseil
Vous pouvez également utiliser les fonctions suivantes pour effectuer une conversion de type :
-
Fonctions de conversion de type telles que CByte, CDbl et CInt qui exécutent une conversion vers un type de données spécifique.Pour plus d'informations, consultez Fonctions de conversion de types de données (Visual Basic).
-
Opérateur DirectCast (Visual Basic) ou Opérateur TryCast (Visual Basic).Ces opérateurs requièrent qu'un type hérite de l'autre type ou l'implémente.Ils peuvent fournir des performances quelque peu meilleures que CType lors de la conversion vers ou depuis le type de donnéesObject.
CType est compilé "inline", c'est-à-dire que le code de conversion fait partie du code qui évalue l'expression. Dans certains cas, le code s'exécute plus vite car aucune procédure n'est appelée pour effectuer la conversion.
Si aucune conversion n'est définie de expression à typename (par exemple de Integer à Date), Visual Basic affiche un message d'erreur de compilation.
Si une conversion échoue au moment de l'exécution, l'exception appropriée est levée. Si une conversion restrictive échoue, le résultat le plus courant est un OverflowException. Si la conversion n'est pas définie, une InvalidCastException est levée. Par exemple, cela peut arriver si expression est de type Object et que son type d'exécution n'a aucune conversion en typename.
Si le type de données de expression ou typename est une classe ou structure que vous avez définie, vous pouvez définir CType comme opérateur de conversion sur cette classe ou structure. Ainsi, CType agit comme un opérateur surchargé. En faisant ceci, vous pouvez contrôler le comportement des conversions effectuées vers et à partir de votre classe ou structure, y compris les exceptions pouvant être levées.
Surcharge
L'opérateur CType peut également être surchargé sur une classe ou structure définie en dehors de votre code. Si votre code convertit vers et à partir d'une telle classe ou structure, assurez-vous d'avoir bien compris le comportement de son opérateur CType. Pour plus d'informations, consultez Procédures d'opérateur (Visual Basic).
Conversion d'objets dynamiques
Les conversions de type des objets dynamiques sont exécutées par les conversions dynamiques définies par l'utilisateur qui utilisent les méthodes TryConvert ou BindConvert. Si vous utilisez des objets dynamiques, utilisez la méthode CTypeDynamic pour convertir l'objet dynamique.
Exemple
L'exemple suivant utilise la fonction CType pour convertir une expression en type de données Single .
Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)
Pour obtenir d'autres exemples, consultez Conversions implicites et explicites (Visual Basic).
Voir aussi
Tâches
Comment : définir un opérateur de conversion (Visual Basic)
Référence
Fonctions de conversion de types de données (Visual Basic)
Fonctions de conversion (Visual Basic)