logo search
CSharp_Prog_Guide

Доступность класса и структуры

Класс или структура, объявленные непосредственно в пространстве имен (другими словами, не вложенные в другие классы или структуры), могут быть открытыми или внутренними. Если модификатор доступа не указан, по умолчанию используется внутренний тип. Вложенные классы и структуры могут также быть объявлены закрытыми. Закрытые вложенные типы не доступны из содержащего типа.

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

При помощи InternalsVisibleToAttribute можно сделать возможным доступ других определенных сборок к внутренним типам.