Поделиться через


Уровни доступности (Справочник по C#)

Обновлен: Ноябрь 2007

Модификаторы доступа public, protected, internal или private используются для указания одного из следующих объявленных уровней доступности к членам.

Объявленная доступность

Значение

public

Неограниченный доступ.

protected

Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса.

internal

Доступ ограничен текущей сборкой.

protectedinternal

Доступ ограничен текущей сборкой или типами, которые являются производными от содержащего класса.

private

Доступ ограничен содержащим типом.

Только один модификатор доступа может быть указан для члена или типа, за исключением случая, когда используется сочетание protectedinternal.

Модификаторы доступа не могут быть указаны для пространств имен. Пространства имен не имеют ограничений доступа.

В зависимости от контекста, в котором производится объявление члена, допускаются только некоторые объявленные уровни доступности. Если модификатор доступа не указывается в объявлении члена, используется доступность по умолчанию.

Типы верхнего уровня, не вложенные в другие типы, могут иметь только уровень доступности internal или public. Для этих типов уровнем доступности по умолчанию является internal.

Вложенные типы, которые являются членами других типов, могут иметь объявленные уровни доступности, указанные в следующей таблице.

Члены типа

Уровень доступности членов по умолчанию

Допустимые объявленные уровни доступности члена

enum

public

Отсутствуют

class

private

public

protected

internal

private

protectedinternal

interface

public

Отсутствуют

struct

private

public

internal

private

Доступность вложенного типа зависит от домена доступности, который определяется объявленной доступностью члена и доменом доступности типа, непосредственно содержащего вложенный тип. Однако домен доступности вложенного типа не может выходить за границы домена доступности содержащего его типа.

Спецификация языка C#

Дополнительные сведения см. в следующих разделах документа Спецификация языка C#:

  • 3.5.1 Объявленная доступность

  • 3.5.3 Защищенный доступ к членам экземпляра

  • 3.5.4 Ограничения доступности

  • 10.3.5 Модификаторы доступа

  • 10.3.8.2 Объявленная доступность

См. также

Основные понятия

Руководство по программированию в C#

Ссылки

Ключевые слова C#

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

Область доступности (Справочник по C#)

Ограничения на использование уровней доступности (справочник по C#)

Модификаторы доступа (Руководство по программированию в C#)

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

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

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

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

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

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