Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Ключевое private слово является модификатором доступа члена.
В этой статье рассматривается
privateдоступ. Ключевоеprivateслово также является частьюprivate protectedмодификатора доступа.
Справочные документы по языку C# описывают последнюю выпущенную версию языка C#. Она также содержит начальную документацию по функциям в общедоступных предварительных версиях для предстоящего языкового выпуска.
Документация определяет любую функцию, впервые представленную в последних трех версиях языка или в текущих общедоступных предварительных версиях.
Подсказка
Чтобы узнать, когда функция впервые появилась в C#, ознакомьтесь со статьей об истории версий языка C#.
Частный доступ — это минимальный уровень доступа. Вы можете получить доступ к частным членам только в тексте класса или структуры, в которой они объявлялись, как показано в следующем примере:
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#.