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#)

Модификаторы (Справочник по C#)

public (справочник по C#)

protected (справочник по C#)

internal (Справочник по C#)

Другие ресурсы

Справочник по C#