【IT168 编程开发】.NET框架(Framework)是一个开发、部署和运行.NET应用的环境,包括了ASP.NET、公共语言运行时环境(CLR)以及.NET 框架类。关于ASP.NET和CLR的介绍已经有很多,相对而言,关于.NET框架类的介绍却比较少见。
.NET框架类也即System类,它提供了大量我们在构造ASP.NET应用(以及非ASP.NET应用时)可以利用的核心功能。System类可在所有.NET语言中使用,所以我们可以把System类看成是一种.NET的Windows API。与Windows API不同的是,System类提供了类似于COM的高级接口,相当容易使用。
正如所有其他.NET类,System类也以程序集(Assembly)的形式存在。.NET中的程序集类似于COM DLL或者EXE文件——它是保存类代码的执行文件。例如,Math类(包括其属性和方法定义)位于mscorlib.dll程序集。.NET有两种类型的程序集——私有程序集,共享程序集。私有程序集是属于单个应用的程序集,通常位于应用的bin目录;与此相反,共享程序集可以用于多个应用,而且它应该由程序集的创建者装入到全局程序集缓冲区(相当于.NET中的系统注册表)。.NET System类都属于共享程序集。
如果你曾经用Windows API编程,你肯定知道使用Windows API的困难在于:我们很难识别和找出要调用的是哪一个函数。在Windows API DLL之内不存在对函数进行组织的方法,看起来就像所有的API调用都被随意堆砌到了一个庞大的DLL之中。幸运的是,.NET类按照逻辑关系组织成了称为名称空间(Namespace)的层次结构。例如,Math类是System名称空间的一个成员。名称空间在层次结构中可以嵌套多层。例如,ADOConnection类是System.Data.ADO类的一个成员。
1.1 引用名称空间中的成员
要使用名称空间中的类,我们必须顺着名称空间的层次结构找到具体要使用的类,即通过“.”分隔的名字显式地引用类。例如,要创建一个ADOConnection对象,我们必须使用类似下面的代码(本文的所有例子都用Visual Basic编写,但不管是哪一种.NET语言,基本概念仍旧是一样的):
|
除了上面的方法,我们还可以用Import指令简化对类的引用。例如,下面的代码告诉ASP.NET把System.Data.SQL名称空间导入到当前页面:
|
导入名称空间之后,我们就可以直接引用类的名字,省略所有类名字前面的名称空间说明。现在创建ADOConnection对象的代码为:
|
可见,使用Import指令可以减少大量的输入。
许多名称空间已经由ASP.NET自动导入,我们不必再为了简化名称引用而去导入这些名称空间。这些名称空间如下:
- System
- System.Collections
- System.Text
- System.Text.RegularExpressions
- System.Web
- System.Web.Caching
- System.Web.SessionState
- System.Web.Security
- System.Web.UI
- System.Web.UI.WebControls
- System.Web.UI.HtmlControls
应该注意的是,导入一个层次较高的名称空间并不意味着同时导入了层次结构中位于它下面的名称空间。也就是说,下面的Import指令只导入System.Data名称空间中的类,但没有从System.Data.ADO、System.Data.SQL以及其他System.Data下面的名称空间导入类:
|
