Уровни доступности (Справочник по 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#)