Ответ 1
по умолчанию Internal
- модификатор доступа класса
Что такое модификатор доступа по умолчанию для класса?
по умолчанию Internal
- модификатор доступа класса
internal
, если он определен непосредственно в пространстве имен (возможно, большинство классов):
Внутренний - это значение по умолчанию, если не указан модификатор доступа
Для классов внутри других классов по умолчанию используется private
, как и члены класса:
Уровень доступа для членов класса и членов структуры, включая вложенные классы и структуры, по умолчанию является закрытым.
Источник: http://msdn.microsoft.com/en-us/library/ms173121.aspx
В enum есть модификатор по умолчанию: public
У класса есть модификаторы по умолчанию: Внутренний. Он может объявлять участников (методы и т.д.) Со следующими модификаторами доступа: общественности внутренний частный защищенный внутренний
Интерфейс имеет модификатор по умолчанию как общедоступный
Структура имеет модификатор по умолчанию как Внутренний и может объявлять его члены (методы и т.д.) со следующими модификаторами доступа: общественности внутренний частный
В методах, полях и свойствах используется модификатор доступа по умолчанию как "Private", если не указан модификатор.
Я считаю, что это internal
.
Обычно доступность элемента не превышает доступность типа, который содержит его. Однако публичный член внутреннего класса может быть доступен извне сборки, если член реализует методы интерфейса или переопределяет виртуальные методы, которые определены в общедоступном базовом классе.
Когда член класса является свойством, полем, методом, событием или делегатом, и этот член либо является типом, либо имеет тип как параметр или возвращаемое значение, доступность элемента не может быть больше, чем тип. Например, вы не можете иметь открытый метод M, который возвращает класс C, если C не является общедоступным. Аналогично, вы не можете иметь защищенное свойство типа A, если A объявлено как private.
internal
, за исключением вложенных типов, в этом случае это private
Модификатор доступа по умолчанию для класса internal
, если он определен в одном и том же пространстве имен. Это private
, если он определен в другом классе.