Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ключевое private слово является модификатором доступа члена.
На этой странице рассматривается
privateдоступ. Ключевоеprivateслово также является частьюprivate protectedмодификатора доступа.
Частный доступ — это минимальный уровень доступа. Частные члены доступны только в тексте класса или структуры, в которой они объявлены, как в этом примере:
class Employee
{
private int _i;
double _d; // private access by default
}
Вложенные типы в одном теле также могут получить доступ к этим частным членам.
Это ошибка во время компиляции для ссылки на частный член за пределами класса или структуры, в которой она объявлена.
Сравнение private с другими модификаторами доступа см. в разделе "Уровни специальных возможностей " и "Модификаторы доступа".
Пример
В этом примере Employee класс содержит два члена частных данных и _name_salary. Как частные члены, они не могут быть доступны, за исключением методов-членов. Открытые методы с именем GetName и Salary добавляются для разрешения управляемого доступа к частным членам. Член _name обращается через общедоступный метод, и _salary член обращается через общедоступное свойство только для чтения. Дополнительные сведения см. в разделе Свойства.
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;
}
}
Спецификация языка C#
Дополнительные сведения см. в разделе "Объявленные специальные возможности " в спецификации языка C#. Спецификация языка является авторитетным источником синтаксиса и использования языка C#.