private (Riferimenti per C#)

La parola chiave private è un modificatore di accesso ai membri.

Questa pagina illustra l'accesso private. La parola chiave private fa anche parte del modificatore di accesso private protected.

L'accesso privato è il livello di accesso più restrittivo. I membri privati sono accessibili solo all'interno del corpo della classe o dello struct in cui sono stati dichiarati, come nell'esempio seguente:

class Employee
{
    private int _i;
    double _d;   // private access by default
}

Anche i tipi annidati dello stesso corpo possono accedere ai membri privati.

Fare riferimento a un membro privato all'esterno della classe o dello struct in cui è stato dichiarato genera un errore in fase di compilazione.

Per un confronto di private con altri modificatori di accesso, vedere Livelli di accessibilità e Modificatori di accesso.

Esempio

In questo esempio la classe Employee contiene due membri dati privati, _name e _salary. Essendo privati, i membri risulteranno accessibili solo ai metodi di membro. I metodi pubblici GetName e Salary vengono aggiunti per consentire il controllo dell'accesso ai membri privati. È possibile accedere al membro _name tramite un metodo pubblico e al membro _salary tramite una proprietà pubblica di sola lettura. Per ulteriori informazioni, vedi Proprietà.

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;
    }
}

Specifiche del linguaggio C#

Per altre informazioni, vedere Accessibilità dichiarata in Specifica del linguaggio C#. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso di C#.

Vedi anche