private (Справочник по C#)
Обновлен: Ноябрь 2007
Ключевое слово private является модификатором доступа к члену. Закрытый (private) доступ является уровнем доступа с минимальными правами. Доступ к закрытым членам можно получить только внутри тела класса или структуры, в которой они объявлены, как показано в следующем примере:
class Employee
{
private int i;
double d; // private access by default
}
Вложенные типы в том же теле могут также обращаться к таким закрытым членам.
Ошибка времени компиляции возникнет в том случае, если создать ссылку на закрытый член за пределами класса или структуры, в которой он объявлен.
Сравнение модификатора private с другими модификаторами доступа см. в разделах Уровни доступности (Справочник по C#) и Модификаторы доступа (Руководство по программированию в C#).
Пример
В этом примере класс Employee содержит два закрытых элемента данных – name и salary. Как к закрытым членам, к ним нельзя получить доступ кроме как через методы членов. Для получения управляемого доступа к закрытым членам можно использовать методы с именем GetName и Salary. Доступ к методу name можно получить через открытый метод, а к методу salary – через открытое свойство только для чтения. (Дополнительные сведения см. в разделе Свойства (руководство по программированию в 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;
}
}
Спецификация языка C#
Дополнительные сведения см. в следующих разделах документа Спецификация языка C#:
3.5.1 Объявленная доступность
3.5.4 Ограничения доступности
10.3.5 Модификаторы доступа
10.3.8.2 Объявленная доступность
10.3.8.5 Доступ к закрытым и защищенным элементам вмещающего типа
См. также
Основные понятия
Руководство по программированию в C#
Ссылки
Модификаторы доступа (Справочник по C#)
Уровни доступности (Справочник по C#)
Модификаторы (Справочник по C#)