【C#语言规范版本5.0学习】3.1成员

命名空间和类型具有成员 (member)。通常可以通过限定名来访问实体的成员。限定名以对实体的引用开头,后跟一个“.”标记,再接成员的名称。 类型的成员或者是在该类型声明中声明的,或者是从该类型的基类继承 (inherit) 的。当类型从基类继承时,基类的所有成员(实例构造函数、析构函数和静态构造函数除外)都成为派生类型的成员。基类成员的声明可访问性并不控制该成员是否可继承:继承性可扩展到任何成员,只要它们不是实例构造函数、 静态构造函数或析构函数。然而,在派生类型中可能不能访问已被继承的成员,原因或者是因为其已声明可访问性,或者是因为它已被类型本身中的声明所隐藏。

命名空间成员

命名空间和类型若没有封闭它的命名空间,则属于全局命名空间 (global namespace) 的成员。这直接对应于全局声明空间中声明的名称。 在某命名空间中声明的命名空间和类型是该命名空间的成员。这直接对应于该命名空间的声明空间中声明的名称。 命名空间没有访问限制。不可能把命名空间设置成私有的、受保护的或内部的,命名空间名称始终是可公开访问的

结构成员

结构的成员是在结构中声明的成员以及继承自结构的直接基类 System.ValueType 和间接基类 object 的成员。 简单类型的成员直接对应于结构类型的成员,此简单类型正是该结构的化名:

✹sbyte 的成员是 System.SByte 结构的成员。

✹ byte 的成员是 System.Byte 结构的成员。

✹ short 的成员是 System.Int16 结构的成员。

✹ ushort 的成员是 System.UInt16 结构的成员。

✹ int 的成员是 System.Int32 结构的成员。

✹ uint 的成员是 System.UInt32 结构的成员。

✹ long 的成员是 System.Int64 结构的成员。

✹ ulong 的成员是 System.UInt64 结构的成员。

✹ char 的成员是 System.Char 结构的成员。

✹ float 的成员是 System.Single 结构的成员。

✹ double 的成员是 System.Double 结构的成员。

✹ decimal 的成员是 System.Decimal 结构的成员。

✹ bool 的成员是 System.Boolean 结构的成员。

枚举成员

枚举的成员是在枚举中声明的常量以及继承自枚举的直接基类 System.Enum 和间接基类 System.ValueType 和 object 的成员。

类成员

类的成员是在类中声明的成员和从该类的基类(没有基类的 object 类除外)继承的成员。从基类继承的成员包括基类的常量、字段、方法、属性、事件、索引器、运算符和类型,但不包括基类的实例构造 函数、析构函数和静态构造函数。基类成员被是否继承与它们的可访问性无关。 类声明可以包含以下对象的声明:常量、字段、方法、属性、事件、索引器、运算符、实例构造函数、 析构函数、静态构造函数和类型。 object 和 string 的成员直接对应于它们所化名的类类型的成员:

✹  object 的成员是 System.Object 类的成员。

✹ string 的成员是 System.String 类的成员。

接口成员

接口的成员是在接口中和该接口的所有基接口中声明的成员。严格地说,类 object 中的成员不是任何接口的成员。但是,通过在任何接口类型中进行成员查找,可获得类 object 中的成员 。

数组成员

数组的成员是从类 System.Array 继承的成员。

委托成员

委托的成员是从类 System.Delegate 继承的成员。

posted @ 2021-02-05 16:57  TechSingularity  阅读(61)  评论(0编辑  收藏  举报