Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Utilisez les modificateurs d’accès , publicou protectedinternal pour spécifier l’un des niveaux d’accessibilité déclarés privatesuivants pour les membres.
-
public: l’accès n’est pas restreint. -
protected: L’accès est limité à la classe conteneur ou aux types dérivés de la classe conteneur. -
internal: L’accès est limité à l’assembly actuel. -
protected internal: l’accès est limité à l’assembly actuel ou aux types dérivés de la classe conteneur. -
private: L’accès est limité au type conteneur. -
private protected: l’accès est limité à la classe conteneur ou aux types dérivés de la classe conteneur dans l’assembly actuel.
La documentation de référence du langage C# décrit la version la plus récente du langage C#. Il contient également la documentation initiale des fonctionnalités dans les préversions publiques pour la prochaine version du langage.
La documentation identifie toute fonctionnalité introduite en premier dans les trois dernières versions de la langue ou dans les préversions publiques actuelles.
Conseil / Astuce
Pour savoir quand une fonctionnalité a été introduite en C#, consultez l’article sur l’historique des versions du langage C#.
Les types de niveau supérieur (non imbriqués) peuvent utiliser le modificateur de fichier . Le file modificateur limite l’accès au code dans le même fichier source. Vous ne pouvez pas combiner le file modificateur avec n’importe quel modificateur d’accès.
Utilisez un seul modificateur d’accès pour un membre ou un type, sauf lorsque vous utilisez les combinaisons ou protected internal les private protected combinaisons.
N’utilisez pas de modificateurs d’accè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 se produit, seules certaines accessibilités déclarées sont autorisées. Si vous ne spécifiez pas de modificateur d’accès 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, peuvent uniquement avoir ou internal accessibilitépublic. L’accessibilité par défaut pour ces types est internal.
Les types imbriqués, qui sont membres d’autres types, peuvent avoir déclaré des accessibilités, comme indiqué dans le tableau suivant.
| Membres de | Accessibilité des membres par défaut | Accessibilité déclarée du membre autorisée |
|---|---|---|
enum |
public |
Aucun |
class |
private |
publicprotectedinternalprivateprotected internal private protected |
interface |
public |
publicprotectedinternalprivate*protected internal private protected |
struct |
private |
publicinternalprivate |
* Un membre disposant interface d’une private accessibilité doit avoir une implémentation par défaut.
Remarque
Si vous modifiez une classe ou un struct avec le modificateur de record mot clé, utilisez les mêmes modificateurs d’accès.
En outre, avec le modificateur, l’accessibilité des membres par défaut est toujours record pour la private classe et le struct.
L’accessibilité d’un type imbriqué dépend de son domaine d’accessibilité, que l’accessibilité déclarée du membre et le domaine d’accessibilité du type contenant immédiatement déterminent. 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.