Partager via


private (référence C#)

Le mot clé private est un modificateur d’accès de membre.

Cette page traite de l’accès private. Le mot clé private fait également partie du modificateur d’accès private protected.

L’accès privé est le niveau d’accès le moins permissif. Les membres privés sont accessibles uniquement dans le corps de la classe ou le struct dans lequel ils sont déclarés, comme dans cet exemple :

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.

Référencer un membre privé en dehors d'une classe ou d'un struct où il est déclaré serait à l'origine d'une erreur de compilation.

Pour obtenir une comparaison de private et des autres modificateurs d’accès, consultez Niveaux d’accessibilité et Modificateurs d’accès.

Exemple

Dans cet exemple, la classe Employee contient deux membres de données privés, _name et _salary. S’agissant de membres privés, ils sont accessibles uniquement par les méthodes membres. Les méthodes publiques GetName et Salary sont ajoutées pour permettre un accès contrôlé aux membres privés. Le membre _name est accessible via une méthode publique et le membre _salary est accessible via une propriété publique en lecture seule. 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.

Voir aussi