嵌套类型

作者: Lewis Jackson
创建日期: 8 可能 2021
更新日期: 15 可能 2024
Anonim
(11-复合类型)9结构嵌套以及结构与指针
视频: (11-复合类型)9结构嵌套以及结构与指针

内容

定义-嵌套类型是什么意思?

在C#中,嵌套类型是在现有类或结构中声明的类型。与直接在编译单元或命名空间中声明的非嵌套类型不同,嵌套类型是在包含(或外部)类型的范围内定义的。

嵌套类型仅在其范围,可见性和生存期在包含的类型内结束而不暴露于其他类型的情况下使用。集合类型内的枚举器成员通常实现为嵌套类型,以遍历集合。作为迭代器,枚举器允许使用相同的客户端逻辑来迭代集合,而与数据收集基础结构无关。

通常,嵌套类型仅在逻辑上属于包含类型的情况下使用。当包含类型完全依赖于嵌套类型时可以实现该方法,这有助于封装包含类型的实现细节。它通常用于直接使用具有嵌套类型为其实现的包含类型而无需实例化其嵌套类型的情况。


Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。

技术百科解释了嵌套类型

可以从程序中的任何位置访问嵌套类型,方法是使用公共级别的可访问性进行声明并使用其完全限定的名称。

例如,AddressInformation可以是在Employee类型内声明的嵌套类型,并且可以使用其完全限定的名称Employee.AddressInformation进行访问。

嵌套类型具有以下关键属性:

  • 它可以具有不同形式的可访问性,包括私有,公共,受保护,受保护的内部和内部。默认情况下,它具有私有可访问性。
  • 它可以访问包含类型的私有和受保护成员,包括任何继承的私有和受保护成员。要访问这些成员,必须通过其构造函数将包含类型的实例传递给嵌套类型。
  • 它允许多个嵌套级别,从而允许在另一个嵌套类中定义一个嵌套类的代码块。
  • 它可以从包含类型继承,也可以被继承。
  • 嵌套类型的私有成员对包含类型不可见。


当必须由客户端代码将其公开公开以进行实例化时,或者如果直接在客户端代码中对其进行引用,则不应使用嵌套类型。它不能代替逻辑分组构造的名称空间。