Содержание
- Определение - что означает вложенный тип?
- Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.
- Техопедия объясняет вложенный тип
Определение - что означает вложенный тип?
Вложенный тип в C # - это тип, объявленный в существующем классе или структуре. В отличие от не вложенного типа, который объявляется непосредственно в модуле компиляции или в пространстве имен, вложенный тип определяется в области действия содержащего (или внешнего) типа.
Вложенный тип используется только в том случае, если его область действия, видимость и время жизни заканчиваются внутри содержащего типа, не подвергаясь воздействию других типов. Член перечислителя в типе коллекции обычно реализуется как вложенный тип для итерации по коллекции. Как итератор, перечислитель позволяет использовать одну и ту же логику на стороне клиента для итерации коллекции, независимо от базовой структуры коллекций данных.
Как правило, вложенный тип используется только в ситуациях, когда он логически относится к содержащему типу. Он реализуется, когда содержащий тип полностью зависит от вложенного типа, что помогает инкапсулировать детали реализации содержащего типа. Он часто используется в сценариях, где содержащий тип, который имеет вложенный тип для своей реализации, используется напрямую без каких-либо требований для создания экземпляра своего вложенного типа.
Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.
Техопедия объясняет вложенный тип
Доступ к вложенному типу можно получить из любого места в программе, объявив его общедоступным уровнем доступности и используя его полностью определенное имя.
Например, AddressInformation может быть вложенным типом, объявленным в типе Employee, и к нему можно получить доступ, используя его полностью определенное имя Employee.AddressInformation.
Вложенный тип имеет следующие ключевые свойства:
- Он может иметь различные формы доступности, включая частную, публичную, защищенную, защищенную внутреннюю и внутреннюю. По умолчанию он имеет частную доступность.
- Он может получить доступ к закрытым и защищенным членам содержащего типа, включая любые унаследованные частные и защищенные члены. Чтобы получить доступ к этим членам, экземпляр содержащего типа должен быть передан во вложенный тип через его конструктор.
- Это позволяет использовать несколько уровней вложенности, что позволяет определять блок кода одного вложенного класса в другом.
- Он может наследоваться от содержащего типа, а также наследоваться.
- Закрытые члены вложенного типа невидимы для содержащего типа.
Вложенный тип не должен использоваться, когда он должен быть публично предоставлен для создания экземпляров клиентским кодом или если на него ссылаются непосредственно в клиентском коде. Его нельзя использовать вместо пространства имен для конструкций логической группировки.