2024年1月9日发(作者:)

C#2010 .NET Framework类库

.NET Framework类库是一个与公共语言运行时紧密集成的可重用的类型集合,它是一个由Microsoft .NET Framework SDK中包含的类、接口和值类型组成的库。该库提供对系统功能的访问,是建立.NET Framework 应用程序、组件和控件的基础。.NET Framework类库中包含了.NET Framework中定义的所有类型。

.NET Framework类库与.NET Framework之间的关系,以及一些.NET Framework类库中的成员如图1-5所示。

.NET Framework公共语言运行时公共语言运行时.NET Framework类库System(程序集)Integer(类型)Single(类型)

图1-5 .NET Framework类库与.NET Framework的关系

类型通过继承从其他类型创建。通过继承,一个类型可以访问另一个类型定义的方法和属性。另外,除了继承一个类型的属性和方法之外,还可以修改已有方法的动作或者属性的行为,这称为重写(overriding)。

.NET Framework中的所有类型和用户创建的类型都组织成层次结构,.NET

Framework层次结构的基本类型为,也就是说类位于层次结构的最顶端,称为超类(superclass),它提供了.NET Framework中所有类型的基本功能。如表1-2所示列举出一些基本的服务:

表1-2 提供的服务

服务

Equals方法

GetHashCode方法

GetType方法

ToString方法

说明

它提供了构造函数(Constructor)。而构造函数提供了从低层类型创建对象的机制

用于测试两个对象是否包含相同的数据。不同类型对于“相同”的定义也不同。Equals方法测试值是否相同,而不是引用是否相同

用于定义类型的哈希函数

用于返回对象的数据类型。Type对象支持许多描述对象的属性

用于把对象的值转换为字符串。大多数类中会重写该方法。如果该方法没有被有效重写,将会返回完全限定的类名

ReferenceEquals方法 用于测试引用是否相等,也就是说测试两个对象变量是否引用了相同的类实例。或者说,ReferenceEquals测试两个对象变量引用了相同的内存地址,而不是测试两个对象变量包含相同的数据

由于是超类,所有其他类型都派生自该类,因此,所有的类型根据定义都必须支持上述方法。例如:ype继承自。ype重写了的方法以便提供适合值类型的功能。例如Int32(Integer)和Single等数据类型是值类型,都派生于ype。当然有其他类型也派生自ype,例如派生自ype,提供枚举的功能,它同样重写了ype提供的方法,扩展了实现方式,提供了多个应用于枚举的方法,图1-6演示了.NET Framework类库中定义的一些类型之间的关系。

(类)ype(类)16(结构)32(结构)64(结构)(结构)(结构)(类)(类)

图1-6 .NET Framework类型层次结构

在上图中,Int16、Int32、Int64、Single、Double结构都派生自ype,类也派生自ype,而ype派生自。Array和String类都直接派生自。这说明不管是什么类型都位于.NET Framework类层次结构的某个位置,最终都派生自基类型,这也是理解.NET Framework类库的关键。

(类)