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.
Déclare et définit une ou plusieurs constantes.
Syntaxe
[ <attributelist> ] [ accessmodifier ] [ Shadows ]
Const constantlist
Pièces
attributelist
Optionnel. Liste des attributs qui s’appliquent à toutes les constantes déclarées dans cette instruction. Voir liste d’attributs entre crochets (« <
» et « >
»).
accessmodifier
Optionnel. Utilisez cette option pour spécifier le code qui peut accéder à ces constantes. Peut être public, protégé, ami, ami protégé, privé ou privé protégé.
Shadows
Optionnel. Utilisez-le pour redeclarer et masquer un élément de programmation dans une classe de base. Voir Ombres.
constantlist
Obligatoire. Liste des constantes déclarées dans cette instruction.
constant
[ ,
constant
... ]
Chacune constant
a la syntaxe et les parties suivantes :
constantname
[ As
datatype
] =
initializer
Composant | Descriptif |
---|---|
constantname |
Obligatoire. Nom de la constante. Voir Noms d’éléments déclarés. |
datatype |
Obligatoire si Option Strict est On . Type de données de la constante. |
initializer |
Obligatoire. Expression évaluée au moment de la compilation et affectée à la constante. |
Remarques
Si vous avez une valeur qui ne change jamais dans votre application, vous pouvez définir une constante nommée et l’utiliser à la place d’une valeur littérale. Un nom est plus facile à mémoriser qu’une valeur. Vous pouvez définir la constante une seule fois et l’utiliser à de nombreux endroits dans votre code. Si, dans une version ultérieure, vous devez redéfinir la valeur, l’instruction Const
est le seul endroit où vous devez apporter une modification.
Vous ne pouvez utiliser Const
qu’au niveau du module ou de la procédure. Cela signifie que le contexte de déclaration d’une variable doit être une classe, une structure, un module, une procédure ou un bloc, et ne peut pas être un fichier source, un espace de noms ou une interface. Pour plus d’informations, consultez Contextes de déclaration et niveaux d’accès par défaut.
Les constantes locales (à l’intérieur d’une procédure) par défaut pour l’accès public, et vous ne pouvez pas utiliser de modificateurs d’accès sur eux. Constantes membres de classe et de module (en dehors de toute procédure) par défaut pour l’accès privé et les constantes membres de structure par défaut pour l’accès public. Vous pouvez ajuster leurs niveaux d’accès avec les modificateurs d’accès.
Règles
Contexte de déclaration. Une constante déclarée au niveau du module, en dehors de toute procédure, est une constante membre ; il s’agit d’un membre de la classe, de la structure ou du module qui le déclare.
Une constante déclarée au niveau de la procédure est une constante locale ; il est local dans la procédure ou le bloc qui le déclare.
Attributs. Vous pouvez appliquer des attributs uniquement aux constantes membres, et non aux constantes locales. Un attribut contribue aux métadonnées de l’assembly, ce qui n’est pas significatif pour le stockage temporaire, comme les constantes locales.
Modificateurs. Par défaut, toutes les constantes sont
Shared
,Static
etReadOnly
. Vous ne pouvez pas utiliser ces mots clés lors de la déclaration d’une constante.Au niveau de la procédure, vous ne pouvez pas utiliser
Shadows
ou n’importe quel modificateur d’accès pour déclarer des constantes locales.Constantes multiples. Vous pouvez déclarer plusieurs constantes dans la même instruction de déclaration, en spécifiant la
constantname
partie pour chacune d’elles. Plusieurs constantes sont séparées par des virgules.
Règles de type de données
Types de données. L’instruction
Const
peut déclarer le type de données d’une variable. Vous pouvez spécifier n’importe quel type de données ou le nom d’une énumération.Type par défaut. Si vous ne spécifiez
datatype
pas, la constante prend le type de données deinitializer
. Si vous spécifiez à la foisdatatype
etinitializer
que le type de données doitinitializer
être convertible endatatype
. Si aucun n’estdatatype
présentinitializer
, le type de données est défini par défautObject
sur .Différents types. Vous pouvez spécifier différents types de données pour différentes constantes à l’aide d’une clause distincte
As
pour chaque variable que vous déclarez. Toutefois, vous ne pouvez pas déclarer plusieurs constantes de même type à l’aide d’une clause communeAs
.Initialisation. Vous devez initialiser la valeur de chaque constante dans
constantlist
. Vous utilisezinitializer
pour fournir une expression à affecter à la constante. L’expression peut être n’importe quelle combinaison de littéraux, d’autres constantes déjà définies et des membres d’énumération déjà définis. Vous pouvez utiliser des opérateurs arithmétiques et logiques pour combiner ces éléments.Vous ne pouvez pas utiliser de variables ou de fonctions dans
initializer
. Toutefois, vous pouvez utiliser des mots clés de conversion tels queCByte
etCShort
. Vous pouvez également l’utiliserAscW
si vous l’appelez avec une constanteString
ouChar
un argument, car cela peut être évalué au moment de la compilation.
Comportement
Portée. Les constantes locales sont accessibles uniquement à partir de leur procédure ou de leur bloc. Les constantes membres sont accessibles n’importe où dans leur classe, structure ou module.
Qualification. Le code en dehors d’une classe, d’une structure ou d’un module doit qualifier le nom d’une constante membre avec le nom de cette classe, structure ou module. Le code en dehors d’une procédure ou d’un bloc ne peut pas faire référence à des constantes locales dans cette procédure ou ce bloc.
Exemple 1
L’exemple suivant utilise l’instruction Const
pour déclarer des constantes à utiliser à la place de valeurs littérales.
' The following statements declare constants.
Const maximum As Long = 459
Public Const helpString As String = "HELP"
Private Const startValue As Integer = 5
Exemple 2
Si vous définissez une constante avec un type Object
de données, le compilateur Visual Basic lui donne le type initializer
, au lieu de Object
. Dans l’exemple suivant, la constante naturalLogBase
a le type Decimal
d’exécution .
Const naturalLogBase As Object = CDec(2.7182818284)
MsgBox("Run-time type of constant naturalLogBase is " &
naturalLogBase.GetType.ToString())
L’exemple précédent utilise la ToString méthode sur l’objet Type retourné par l’opérateur GetType, car Type ne peut pas être converti en String
utilisant CStr
.