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.
Le niveau d’accès d’un élément déclaré est l’étendue de la possibilité d’y accéder, c’est-à-dire ce que le code a l’autorisation de lire ou d’écrire dans celui-ci. Cela est déterminé non seulement par la façon dont vous déclarez l’élément lui-même, mais également par le niveau d’accès du conteneur de l’élément. Le code qui ne peut pas accéder à un élément conteneur ne peut accéder à aucun de ses éléments contenus, même ceux déclarés en tant que Public
. Par exemple, une Public
variable dans une Private
structure est accessible à partir de la classe qui contient la structure, mais pas à partir de l’extérieur de cette classe.
Publique
Le mot clé public dans l’instruction de déclaration spécifie que l’élément est accessible à partir du code n’importe où dans le même projet, à partir d’autres projets qui référencent le projet et à partir de n’importe quel assembly généré à partir du projet. Le code suivant montre un exemple de Public
déclaration :
Public Class ClassForEverybody
Vous pouvez utiliser Public
uniquement au niveau du module, de l’interface ou de l’espace de noms. Cela signifie que vous pouvez déclarer un élément public au niveau d’un fichier ou d’un espace de noms source, ou à l’intérieur d’une interface, d’un module, d’une classe ou d’une structure, mais pas dans une procédure.
Protégé
Le mot clé Protected dans l’instruction de déclaration spécifie que l’élément est accessible uniquement à partir de la même classe ou d’une classe dérivée de cette classe. Le code suivant montre un exemple de Protected
déclaration :
Protected Class ClassForMyHeirs
Vous ne pouvez utiliser Protected
qu’au niveau de la classe et uniquement lorsque vous déclarez un membre d’une classe. Cela signifie que vous pouvez déclarer un élément protégé dans une classe, mais pas au niveau d’un fichier source ou d’un espace de noms, ou à l’intérieur d’une interface, d’un module, d’une structure ou d’une procédure.
Ami
Le mot clé Friend dans l’instruction de déclaration spécifie que l’élément est accessible à partir du même assembly, mais pas à partir de l’extérieur de l’assembly. Le code suivant montre un exemple de Friend
déclaration :
Friend stringForThisProject As String
Vous pouvez utiliser Friend
uniquement au niveau du module, de l’interface ou de l’espace de noms. Cela signifie que vous pouvez déclarer un élément friend au niveau d’un fichier ou d’un espace de noms source, ou à l’intérieur d’une interface, d’un module, d’une classe ou d’une structure, mais pas dans une procédure.
Ami protégé
La combinaison de mots clés Protected Friend dans l’instruction de déclaration spécifie que l’élément est accessible à partir de classes dérivées ou à partir du même assembly, ou des deux. Le code suivant montre un exemple de Protected Friend
déclaration :
Protected Friend stringForProjectAndHeirs As String
Vous ne pouvez utiliser Protected Friend
qu’au niveau de la classe et uniquement lorsque vous déclarez un membre d’une classe. Cela signifie que vous pouvez déclarer un élément friend protégé dans une classe, mais pas au niveau d’un fichier source ou d’un espace de noms, ou à l’intérieur d’une interface, d’un module, d’une structure ou d’une procédure.
Privé
Le mot clé private dans l’instruction de déclaration spécifie que l’élément est accessible uniquement à partir du même module, classe ou structure. Le code suivant montre un exemple de Private
déclaration :
Private _numberForMeOnly As Integer
Vous ne pouvez utiliser Private
qu’au niveau du module. Cela signifie que vous pouvez déclarer un élément privé à l’intérieur d’un module, d’une classe ou d’une structure, mais pas au niveau d’un fichier source ou d’un espace de noms, à l’intérieur d’une interface ou dans une procédure.
Au niveau du module, l’instruction Dim
sans mots clés de niveau d’accès équivaut à une Private
déclaration. Toutefois, vous pouvez utiliser le mot clé pour faciliter la Private
lecture et l’interprétation de votre code.
Privé protégé
La combinaison de mots clés Private Protected dans l’instruction de déclaration spécifie que l’élément est accessible uniquement à partir de la même classe, ainsi que des classes dérivées trouvées dans le même assembly que la classe conteneur. Le Private Protected
modificateur d’accès est pris en charge à partir de Visual Basic 15.5.
L’exemple suivant montre une Private Protected
déclaration :
Private Protected internalValue As Integer
Vous pouvez déclarer un Private Protected
élément uniquement à l’intérieur d’une classe. Vous ne pouvez pas le déclarer dans une interface ou une structure, ni le déclarer au niveau d’un fichier ou d’un espace de noms source, à l’intérieur d’une interface ou d’une structure, ou dans une procédure.
Le Private Protected
modificateur d’accès est pris en charge par Visual Basic 15.5 et versions ultérieures. Pour l’utiliser, vous ajoutez l’élément suivant à votre fichier de projet Visual Basic (*.vbproj). Tant que Visual Basic 15.5 ou version ultérieure est installé sur votre système, il vous permet de tirer parti de toutes les fonctionnalités de langage prises en charge par la dernière version du compilateur Visual Basic :
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Pour utiliser le Private Protected
modificateur d’accès, vous devez ajouter l’élément suivant à votre fichier de projet Visual Basic (*.vbproj) :
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Pour plus d’informations, consultez la définition de la version du langage Visual Basic.
Modificateurs d’accès
Les mots clés qui spécifient le niveau d’accès sont appelés modificateurs d’accès. Le tableau suivant compare les modificateurs d’accès :
Modificateur d’accès | Niveau d’accès accordé | Éléments que vous pouvez déclarer avec ce niveau d’accès | Contexte de déclaration dans lequel vous pouvez utiliser ce modificateur |
---|---|---|---|
Public |
Illimité: Tout code qui peut voir un élément public peut y accéder |
Interfaces Modules Cours Structures Membres de la structure Procédures Propriétés Variables de membre Constantes Énumérations Événements Déclarations externes Délégués |
Fichier source Namespace Interface Module classe Structure |
Protected |
Dérivation : Le code dans la classe qui déclare un élément protégé, ou une classe dérivée de celui-ci, peut accéder à l’élément |
Interfaces Cours Structures Procédures Propriétés Variables de membre Constantes Énumérations Événements Déclarations externes Délégués |
classe |
Friend |
Assemblée: Code dans l’assembly qui déclare un élément friend peut y accéder |
Interfaces Modules Cours Structures Membres de la structure Procédures Propriétés Variables de membre Constantes Énumérations Événements Déclarations externes Délégués |
Fichier source Namespace Interface Module classe Structure |
Protected
Friend
|
Union de Protected et Friend :Le code dans la même classe ou le même assembly qu’un élément friend protégé, ou dans n’importe quelle classe dérivée de la classe de l’élément, peut y accéder |
Interfaces Cours Structures Procédures Propriétés Variables de membre Constantes Énumérations Événements Déclarations externes Délégués |
classe |
Private |
Contexte de déclaration : Le code dans le type qui déclare un élément privé, y compris du code dans des types contenus, peut accéder à l’élément |
Interfaces Cours Structures Membres de la structure Procédures Propriétés Variables de membre Constantes Énumérations Événements Déclarations externes Délégués |
Module classe Structure |
Private Protected |
Code dans la classe qui déclare un élément protégé privé ou du code dans une classe dérivée trouvée dans le même assembly que la classe bas. | Interfaces Cours Structures Procédures Propriétés Variables de membre Constantes Énumérations Événements Déclarations externes Délégués |
classe |