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.
Spécifie qu’une ou plusieurs variables locales déclarées doivent continuer à exister et conserver leurs dernières valeurs après l’arrêt de la procédure dans laquelle elles sont déclarées.
Remarques
Normalement, une variable locale dans une procédure cesse d’exister dès que la procédure s’arrête. Une variable statique continue d’exister et conserve sa valeur la plus récente. La prochaine fois que votre code appelle la procédure, la variable n’est pas réinitialisée et contient toujours la dernière valeur que vous lui avez affectée. Une variable statique continue d’exister pendant la durée de vie de la classe ou du module dans laquelle elle est définie.
Règles
Contexte de déclaration. Vous ne pouvez utiliser
Static
que sur les variables locales. Cela signifie que le contexte de déclaration d’une variable doit être une procédure ou un bloc dans une procédure, et qu’il ne peut pas s’agir d’un fichier source, d’un espace de noms, d’uneStatic
classe, d’une structure ou d’un module.Vous ne pouvez pas utiliser
Static
à l’intérieur d’une procédure de structure.Les types de données des
Static
variables locales ne peuvent pas être déduits. Pour plus d’informations, consultez l’inférence de type local.Modificateurs combinés. Vous ne pouvez pas spécifier
Static
ensemble avecReadOnly
,Shadows
ouShared
dans la même déclaration.
Comportement
Lorsque vous déclarez une variable statique dans une Shared
procédure, une seule copie de la variable statique est disponible pour l’ensemble de l’application. Vous appelez une Shared
procédure à l’aide du nom de classe, et non d’une variable qui pointe vers une instance de la classe.
Lorsque vous déclarez une variable statique dans une procédure qui n’est pas Shared
, une seule copie de la variable est disponible pour chaque instance de la classe. Vous appelez une procédure non partagée à l’aide d’une variable qui pointe vers une instance spécifique de la classe.
Exemple :
L’exemple suivant illustre l’utilisation de Static
.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
La Static
variable totalSales
est initialisée à 0 une seule fois. Chaque fois que vous entrez updateSales
, totalSales
a toujours la valeur la plus récente que vous avez calculée pour celle-ci.
Le Static
modificateur peut être utilisé dans ce contexte :