Remarque
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 private mot clé est un modificateur d’accès membre.
Cet article traite de
privatel’accès. Leprivatemot clé fait également partie du modificateur d’accèsprivate protected.
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#.
L’accès privé est le niveau d’accès le moins permissif. Vous pouvez accéder aux membres privés uniquement au sein du corps de la classe ou du struct où vous les déclarez, comme illustré dans l’exemple suivant :
class Employee
{
private int _i;
double _d; // private access by default
}
Les types imbriqués dans le même corps peuvent également accéder à ces membres privés.
Si vous référencez un membre privé en dehors de la classe ou du struct où vous le déclarez, le compilateur retourne une erreur.
Pour une comparaison des private autres modificateurs d’accès, consultez Les niveaux d’accessibilité et les modificateurs d’accès.
Dans cet exemple, la Employee classe contient deux membres de données privés et _name_salary . En tant que membres privés, les méthodes membres sont le seul moyen d’y accéder. L’exemple ajoute des méthodes publiques nommées GetName et Salary autorise l’accès contrôlé aux membres privés. Le _name membre est accessible par le biais d’une méthode publique et le _salary membre est accessible par le biais d’une propriété en lecture seule publique. Pour plus d’informations, consultez Propriétés.
class Employee2
{
private readonly string _name = "FirstName, LastName";
private readonly double _salary = 100.0;
public string GetName()
{
return _name;
}
public double Salary
{
get { return _salary; }
}
}
class PrivateTest
{
static void Main()
{
var e = new Employee2();
// The data members are inaccessible (private), so
// they can't be accessed like this:
// string n = e._name;
// double s = e._salary;
// '_name' is indirectly accessed via method:
string n = e.GetName();
// '_salary' is indirectly accessed via property
double s = e.Salary;
}
}
Spécification du langage C#
Pour plus d’informations, consultez Accessibilité déclarée dans 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.