Partager via


private (référence C#)

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

Cette page couvre l'accès à private. Le private mot clé 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 au sein du corps de la classe ou du 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.

Il s’agit d’une erreur au moment de la compilation pour référencer un membre privé en dehors de la classe ou du struct dans lequel il est déclaré.

Pour une comparaison des private autres modificateurs d’accès, consultez Les niveaux d’accessibilité et les modificateurs d’accès.

Exemple :

Dans cet exemple, la Employee classe contient deux membres de données privés et _salary_name . En tant que membres privés, ils ne peuvent pas être accessibles à l’exception des méthodes membres. Les méthodes publiques nommées GetName et Salary ajoutées pour autoriser 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.

Voir aussi