private (Riferimenti per C#)
Aggiornamento: novembre 2007
La parola chiave private è un modificatore di accesso per membri. L'accesso privato è il livello di accesso più restrittivo. I membri privati sono accessibili solo all'interno del corpo della classe o della struttura in cui sono stati dichiarati, come nell'esempio riportato di seguito:
class Employee
{
private int i;
double d; // private access by default
}
Anche i tipi nidificati dello stesso corpo possono accedere a tali membri privati.
Fare riferimento a un membro privato all'esterno della classe o della struttura in cui è stato dichiarato genera un errore in fase di compilazione.
Per un confronto tra il modificatore d'accesso private e gli altri modificatori di accesso, vedere Livelli di accessibilità (Riferimenti per C#) e Modificatori di accesso (Guida per programmatori C#).
Esempio
Nell'esempio riportato di seguito 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, vedere Proprietà (Guida per programmatori C#).
class Employee2
{
private string name = "FirstName, LastName";
private double salary = 100.0;
public string GetName()
{
return name;
}
public double Salary
{
get { return salary; }
}
}
class PrivateTest
{
static void Main()
{
Employee2 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 ulteriori informazioni, vedere le sezioni riportate di seguito in Specifiche del linguaggio C#:
3.5.1 Accessibilità dichiarata
3.5.4 Vincoli di accessibilità
10.3.5 Modificatori di accesso
10.3.8.2 Accessibilità dichiarata
10.3.8.5 Accesso ai membri privati e protetti del tipo contenitore
Vedere anche
Concetti
Riferimenti
Modificatori di accesso (Riferimenti per C#)
Livelli di accessibilità (Riferimenti per C#)
Modificatori (Riferimenti per C#)
protected (Riferimenti per C#)