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.
Vous contrôlez la disponibilité d’une variable en spécifiant son niveau d’accès. Le niveau d’accès détermine le code autorisé à lire ou à écrire dans la variable.
Les variables membres (définies au niveau du module et en dehors de toute procédure) ont, par défaut, un accès public, ce qui signifie que tout code pouvant les voir peut y accéder. Vous pouvez le modifier en spécifiant un modificateur d’accès.
Les variables locales (définies à l’intérieur d’une procédure) ont un accès public, bien que seul le code de leur procédure puisse y accéder. Vous ne pouvez pas modifier le niveau d’accès d’une variable locale, mais vous pouvez modifier le niveau d’accès de la procédure qui le contient.
Pour plus d’informations, consultez Niveaux d’accès en Visual Basic.
Accès privé et public
Pour rendre une variable accessible uniquement à partir de son module, de sa classe ou de sa structure
Placez l’instruction Dim pour la variable à l’intérieur du module, de la classe ou de la structure, mais en dehors de toute procédure.
Incluez le mot clé Private dans l’instruction
Dim
.Vous pouvez lire ou écrire dans la variable depuis n’importe où dans le module, la classe ou la structure, mais pas à partir de l’extérieur.
Pour rendre une variable accessible à partir de n’importe quel code qui peut le voir
Pour une variable membre, placez l’instruction
Dim
de la variable à l’intérieur d’un module, d’une classe ou d’une structure, mais en dehors de toute procédure.Incluez le mot clé Public dans l’instruction
Dim
.Vous pouvez lire ou écrire dans la variable à partir de n’importe quel code qui interopére avec votre assembly.
- ou -
Pour une variable locale, placez l’instruction
Dim
de la variable à l’intérieur d’une procédure.N’incluez pas le
Public
mot clé dans l’instructionDim
.Vous pouvez lire ou écrire dans la variable depuis n’importe où dans la procédure, mais pas à partir de l’extérieur.
Accès protégé et ami
Vous pouvez limiter le niveau d’accès d’une variable à sa classe et à toutes les classes dérivées, ou à son assembly. Vous pouvez également spécifier l’union de ces limitations, qui autorise l’accès à partir du code dans n’importe quelle classe dérivée ou dans n’importe quel autre emplacement dans le même assembly. Vous spécifiez cette union en combinant les mots clés Protected
et Friend
dans la même déclaration.
Pour rendre une variable accessible uniquement à partir de sa classe et de toutes les classes dérivées
Placez l’instruction
Dim
pour la variable à l’intérieur d’une classe, mais en dehors de toute procédure.Incluez le mot clé Protected dans l’instruction
Dim
.Vous pouvez lire ou écrire dans la variable depuis n’importe où dans la classe, ainsi qu’à partir de n’importe quelle classe dérivée de celle-ci, mais pas à partir de l’extérieur d’une classe dans la chaîne de dérivation.
Pour rendre une variable accessible uniquement à partir du même assembly
Placez l’instruction
Dim
pour la variable à l’intérieur d’un module, d’une classe ou d’une structure, mais en dehors de toute procédure.Incluez le mot clé Friend dans l’instruction
Dim
.Vous pouvez lire ou écrire dans la variable depuis n’importe où dans le module, la classe ou la structure, ainsi qu’à partir de n’importe quel code dans le même assembly, mais pas à partir de l’extérieur de l’assembly.
Exemple :
L’exemple suivant montre les déclarations de variables avec Public
, , Protected
Friend
, Protected Friend
et Private
les niveaux d’accès. Notez que lorsque l’instruction Dim
spécifie un niveau d’accès, vous n’avez pas besoin d’inclure le Dim
mot clé.
Public Class classForEverybody
Protected Class classForMyHeirs
Friend stringForThisProject As String
Protected Friend stringForProjectAndHeirs As String
Private numberForMeOnly As Integer
Sécurité du .NET Framework
Plus le niveau d’accès d’une variable est restrictif, plus le code malveillant risque de l’utiliser de manière incorrecte.