Niveaux d'accessibilité (Référence C#)
Mise à jour : novembre 2007
Utilisez les modificateurs d'accès, public, protected, internal ou private pour spécifier l'une des accessibilités déclarées ci-dessous pour les membres.
Accessibilité déclarée |
Signification |
---|---|
public |
L'accès n'est pas limité. |
protected |
L'accès est restreint à la classe conteneur ou aux types dérivés de la classe conteneur. |
internal |
L'accès est restreint à l'assembly en cours. |
protectedinternal |
L'accès est restreint à l'assembly en cours ou aux types dérivés de la classe conteneur. |
private |
L'accès est restreint au type conteneur. |
Un seul modificateur d'accès est autorisé pour un membre ou un type, sauf si l'on utilise la combinaison protectedinternal.
Les modificateurs d'accès ne sont pas autorisés sur les espaces de noms. Les espaces de noms ne présentent aucune limitation d'accès.
Selon le contexte dans lequel une déclaration de membre est effectuée, seules certaines accessibilités déclarées sont autorisées. Si aucun modificateur d'accès est spécifié dans une déclaration de membre, une accessibilité par défaut est utilisée.
Les types de niveau supérieur, qui ne sont pas imbriqués dans d'autres types, ne peuvent disposer que d'une accessibilité internal ou public. L'accessibilité par défaut de ces types est internal.
Les types imbriqués, qui sont membres d'autres types, peuvent disposer d'accessibilités déclarées, comme indiqué dans le tableau suivant.
Membres de |
Accessibilité des membres par défaut |
Accessibilité déclarée autorisée du membre |
---|---|---|
enum |
public |
Aucune |
class |
private |
public protected internal private protectedinternal |
interface |
public |
Aucune |
struct |
private |
public internal private |
L'accessibilité d'un type imbriqué dépend de son domaine d'accessibilité, qui est déterminé par l'accessibilité déclarée du membre et le domaine d'accessibilité du type conteneur immédiat. Toutefois, le domaine d'accessibilité d'un type imbriqué ne peut pas dépasser celui du type conteneur.
Spécification du langage C#
Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.
3.5.1 Accessibilité déclarée
3.5.3 Accès protégé pour les membres d'instance
3.5.4 Contraintes d'accessibilité
10.3.5 Modificateurs d'accès
10.3.8.2 Accessibilité déclarée
Voir aussi
Concepts
Référence
Modificateurs d'accès (Référence C#)
Domaine d'accessibilité (Référence C#)
Limitations sur l'utilisation des niveaux d'accessibilité (Référence C#)
Modificateurs d'accès (Guide de programmation C#)