Niveaux d'accessibilité (référence C#)
Utilisez les modificateurs d'accès, public, protected, internal ou private pour spécifier l'un des niveaux d'accessibilité déclarés 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. |
protected internal |
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 protected internal.
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 |
Aucun |
class |
private |
public protected internal private protected internal |
interface |
public |
Aucun |
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, voir la Spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.
Voir aussi
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#)