.net framework 类库由命名空间组成。每个命名空间都包含可在程序中使用的类型:类、结构、枚举、委托和接口。
当您在 visual studio 中创建 visual basic 或 visual c# 项目时,已经引用了最常用的基类 dll(程序集)。但是,如果您需要使用尚未引用的 dll 中的类型,则需向此 dll 添加引用。有关更多信息,请参见添加和移除引用。
以下主题提供了下列信息:
每个功能区域的最重要命名空间的列表。
一些指向 .net framework 中有关每个主要命名空间的参考主题的链接。
一些指向过程性和概念性主题的链接,这些主题说明如何在 visual basic .net 和 visual c# .net 应用程序中使用那些命名空间。
本节内容
-
介绍 visual studio 中的 .net framework 类库
解释命名空间和程序集。
-
visual studio 中的编程基础命名空间
介绍用于集合、字符编码、文件 i/o 和线程处理的 .net 命名空间。
-
visual studio 中的数据命名空间
介绍 .net framework 中一些用于操纵和访问数据的命名空间,这些数据来自传统的数据源和基于标准的 xml。
-
visual studio 中的 web 命名空间
介绍用于 asp.net web 应用程序和 xml web services 的 .net 命名空间。
-
visual studio 中的 windows 应用程序命名空间
介绍 .net framework 中的一些命名空间,它们用于创建功能丰富的 windows 应用程序和带有 windows 窗体的图形。
-
visual studio 中的组件模型命名空间
介绍一些命名空间,它们用于实现组件和控件在运行时和在设计时的行为。
-
visual studio 中的框架服务命名空间
介绍与各种后端服务器资源交互的命名空间。
-
visual studio 中的安全性命名空间
介绍提供 .net framework 安全系统的基础结构,并在 web 应用程序中实现 asp.net 安全性的命名空间。
-
visual studio 中的网络命名空间
介绍一种命名空间,它为网络中出现的多种协议提供一种简单编程界面。
-
visual studio 中的配置命名空间
介绍一些命名空间,它们在 .net framework 配置设置下工作并处理配置文件中的错误,同时允许您为组件编写自定义的安装程序。
-
visual studio 中的全球化和本地化命名空间
提供到 .net framework 中某些命名空间的链接,这些命名空间设计来开发全球可用的应用程序。
-
visual studio 中的反射命名空间
介绍一些命名空间,它们为已加载的类型、方法和字段提供一个可管理的视图,并能够动态地创建和调用各种类型。
-
visual studio 中的 visual basic 运行库命名空间
描述一些模块、枚举和属性,它们提供您可以在 visual basic .net 应用程序中使用的属性、函数和常量。
.net framework 的一项关键功能是基类库。有关公共语言运行库、类库和公共语言规范 (cls) 以及 .net framework 其他功能的更多信息,请参见 .net framework 的内容。
命名空间
.net framework 类库由命名空间组成。每个命名空间都包含可在程序中使用的类型:类、结构、枚举、委托和接口。有关命名空间的概述,请参见类库。
命名空间提供范围:两个同名的类只要位于不同的命名空间并且其名称符合命名空间的要求,就可以在程序中使用它们。命名空间名称是类型的完全限定名 (namespace.typename) 的一部分。
所有 microsoft 提供的命名空间都是以名称 system 或 microsoft 开头的。
托管 dll(程序集)
.net framework 类库的功能并不包含在单个 dll 中。通过将基类的功能放入多个 dll 中,托管程序在启动时无需加载一个较大的 dll,而只需加载一个或多个较小的 dll。这就减少了程序的启动时间。
您可以使用在项目中定义的命名空间。但是,您通常会使用驻留在托管 dll 中的命名空间中的类型。托管 dll 也称作“程序集”。
当您在 visual studio 中创建 visual basic 或 visual c# 项目时,已经引用了最常用的基类 dll(程序集)。但是,如果您需要使用尚未引用的 dll 中的类型,则需向此 dll 添加引用。添加引用对话框可用于添加程序集。
命名空间和程序集:用法摘要
下面将摘要说明通常会如何使用托管 dll(程序集)、命名空间和命名空间中的类型:
确定提供所需功能的类的位置。有关更多信息,请参见 visual studio 中的 .net framework 类库。
在类型的文档概述中,记下该类型的程序集和命名空间的名称。
查看是否已经在项目中引用程序集。打开“凯发k8天生赢家一触即发的解决方案资源管理器”,在“引用”节点下查看。
如果没有看到程序集引用,请右击“引用”节点并选择“添加引用”。有关更多信息,请参见添加和移除引用。
当添加程序集引用后,即可访问程序集中的类型。
提示 |
---|
如果不想使用完全限定名 (namespace.typename),则可以使用 imports 语句(在 visual basic 中)或使用 using 关键字(在 visual c# 中)。 |
下面的示例显示 visual basic 和 visual c# 如何隐式地使用命名空间(在 visual basic 中为类)限定符:
复制
// testusing.cs
using system;
class myclass
{
public static void main()
{
console.writeline("hello");
// without the using statement, you would have to use
// system.console.writeline("hello");
}
}
可将此代码放入一个文件(称为 test.vb 或 test.cs)中,然后通过在命令行中键入 vbc testimports.vb 或 csc testusing.cs 对其进行编译。不必显式引用此 mscorlib.dll,它是一个包含 system 命名空间的程序集;visual basic 或 visual c# 编译器始终引用 mscorlib.dll。
.net framework 中的基本编程命名空间包括:
system.collections — 它包含的接口和类定义各种对象(如列表、队列、数组、哈希表和字典)集合。
system.collections.generic -- 包含定义泛型集合的接口和类;泛型集合允许用户创建强类型的集合,这种集合在类型安全和性能上均优于非泛型强类型集合。
system.io — 它包含的类型用于支持数据流和文件的同步和异步读写。
system.text — 它包含表示 ascii、unicode、utf-7 和 utf-8 字符编码的类;用于来回转换字符块和字节块的抽象基类;以及在不创建 string 中间实例的情况下操作和格式化 string 对象的帮助器类。
system.threading — 提供启用多线程编程的类和接口。此命名空间包括一个管理线程组的 threadpool 类,一个启用在指定时间后要调用的委托的 timer 类,以及一个同步互斥线程的 mutex 类。system.threading 还为线程调度和等待通知提供了相应的类。
.net framework 中的数据和 xml 命名空间包括:
system.data — 由构成 ado.net 结构的类组成,该结构是托管应用程序的主要数据访问方法。ado.net 结构使您可以生成可用于有效管理来自多个数据源的数据的组件。ado.net 还提供对分布式应用程序中的数据进行请求、更新和协调的工具。
system.data.common — 包含由 .net framework 数据提供程序共享的类。数据提供程序描述一个类的集合,这些类用于在托管空间中访问数据源,例如数据库。
system.xml — 根据标准来支持 xml 处理的类。
system.data.oledb — 构成兼容数据源的 ole db .net framework 数据提供程序的类。这些类使您能连接到 ole db 数据源、针对数据源执行命令并读取结果。
system.data.sqlclient — 构成 sql server .net framework 数据提供程序的类,该提供程序允许您连接到 sql server 7.0、执行命令并读取结果。system.data.sqlclient 命名空间与 system.data.oledb 命名空间类似,但为访问 sql server 7.0 和更高版本进行了优化。
system.data.sql -- 支持特定于 sql server 的功能的类。
system.data.sqltypes — 提供一些类,它们在 sql server 内部用于本机数据类型。这些类提供了其他数据类型的更安全、更快速的替代方式。
microsoft.sqlserver.server -- 专用于 microsoft .net framework 公共语言运行库 (clr) 与 microsoft sql server 和 sql server 数据库引擎进程执行环境的集成的类、接口和枚举。
system.data.odbc — 构成 odbc .net framework 数据提供程序的类。使用这些类可以在托管空间中访问 odbc 数据源。
system.data.oracleclient — 构成 orcale.net framework 数据提供程序的类。使用这些类可以在托管空间中访问 oracle 数据源。
system.transactions -- 允许您编写自己的事务性应用程序和资源管理器的类。具体来说,您可以创建事务并和一个或多个参与者参与事务(本地或分布式)。
在 .net framework 中,有关 asp.net web 应用程序和 xml web services 的命名空间包括:
system.web — 包含启用浏览器/服务器通信的类和接口。这些命名空间类用于管理到客户端的 http 输出 (httpresponse),和读取 http 请求 (httprequest)。附加的类则提供了一些功能,用于服务器端的实用程序以及进程、cookie 管理、文件传输、异常信息和输出缓存控制。
system.web.ui — 包含创建 web 窗体页的类,包括 page 类和用于创建 web 用户界面的其他标准类。
system.web.ui.htmlcontrols — 包含用于 html 特定控件的类,这些控件可以添加到 web 窗体中以创建 web 用户界面。
system.web.ui.webcontrols — 包含创建 asp.net web 服务器控件的类。当添加到 web 窗体时,这些控件将呈现浏览器特定的 html 和脚本,用以创建与设备无关的 web 用户界面。
system.web.mobile -- 包含生成 asp.net 移动 web 应用程序所需的核心功能,包括身份验证和错误处理。
system.web.ui.mobilecontrols -- 包含一组 asp.net 服务器控件,这些控件可以针对不同的移动设备呈现应用程序。
system.web.services — 包含使您能够生成和使用 xml web services 的类,这些服务是驻留在 web 服务器中的可编程实体,并通过标准 internet 协议公开。
在 .net framework 中,用于创建丰富 windows 应用程序和图形的命名空间包括:
system.windows.forms — 它包含的类可创建基于 windows 的应用程序,这些应用程序将充分利用 microsoft windows 操作系统中提供的丰富用户界面功能。在此命名空间中,您将找到可添加到窗体中创建用户界面的 form 类和许多其他控件。
system.drawing — 它使您能够访问 gdi 的基本图形功能。system.drawing.drawing2d、system.drawing.imaging 和 system.drawing.text 命名空间中提供了更高级的功能。
system.serviceprocess — 它提供的类用于安装和运行没有用户界面且长期运行的可执行文件。
在 .net framework 中,用于创建您自己的组件和控件的命名空间包括:
system.componentmodel — 它提供的类用于实现组件和控件的运行时和设计时行为。此命名空间包括用于实现属性、使用类型转换器、绑定到数据源,以及授权组件的基类和接口。此命名空间中的类分为下列类别:
核心组件类。有关更多信息,请参见 component 和 container 类以及 icontainer 和 icomponent 接口。
组件授权。有关更多信息,请参见 license、licensemanager、licenseprovider 和 licenseproviderattribute 类。
属性。有关更多信息,请参见 attribute 类。
说明符和持久性。有关更多信息,请参见 typedescriptor、eventdescriptor 和 propertydescriptor 类。
类型转换器。有关更多信息,请参见 typeconverter 类。
system.codedom — 它所包含的类可用于表示源代码文档的元素和结构。
在 .net framework 中,用于与各种后端服务器资源进行交互的命名空间包括:
system.diagnostics — 它所包括的类用于调试应用程序和跟踪代码的执行情况。有关更多信息,请参见 跟踪 和 调试 类。system.diagnostics 提供的类允许您启动系统进程、读取和写入事件日志以及使用性能计数器监视系统性能。有关更多信息,请参见进程 (process)、事件日志 (eventlog) 和性能计数器 (performancecounter) 类。
system.directoryservices — 它包含的类可便于从托管代码中访问 active directory。此命名空间中的类可以与任何 active directory 服务提供程序一起使用。当前的提供程序包括:internet 信息服务 (iis)、轻量目录服务协议 (ldap)、novell netware 目录服务 (nds) 和 windows nt。有关 active directory 的更多信息,请参见目录服务。
system.deployment.application -- 提供用于将自定义升级行为编程到 clickonce 部署概述应用程序中的类。这些类允许您的部署提供更新是否可用的信息,提供安装更新,并根据需要下载大型文件和程序集。
system.io — 它提供的类包括 filesystemwatcher,此类侦听文件系统更改通知并在目录或目录中的文件出现更改时引发事件。
system.media -- 包含用于播放声音文件和访问系统提供的声音的类。
system.management — 它提供的类用于管理一些信息和事件,它们关系到系统、设备和 windows management instrumentation (wmi) 基础结构所使用的应用程序。
system.messaging — 它提供的类用于连接到网络上的消息队列,向队列发送消息,从队列接收或查看(读取而不移除)消息。
system.serviceprocess — 它所提供的类用于安装和运行服务。服务是长期运行的可执行文件,它们不通过用户界面来运行。服务可以安装在一个系统帐户下运行,此帐户将使服务能够在计算机重新启动时启动。如果服务从 servicebase 类中的处理导出其实现,它们就可以定义开始、停止、暂停和继续命令的特定行为以及在关闭系统时所采取的行为。
system.timers — 提供基于服务器的计时器组件,用以按指定的间隔引发事件。
注意 |
---|
在 system.windows.form 命名空间中还有一个 windows 窗体的计时器控件,在 system.threading 命名空间中还有一个计时器类。 |
microsoft.win32 -- 提供处理操作系统引发的事件和操作系统注册表的类。
.net framework 中的安全性命名空间包括:
system.security — 它提供公共语言运行库安全性系统的基础结构,其中包括权限的基类。
system.net.security -- 提供用于主机间安全通信的网络流。
system.web.security — 它包含的类用于在 web 应用程序中实现 asp.net 安全性。
.net framework 中的网络命名空间包括:
system.net — 它包含的类可为当前网络上的多种协议提供简单的编程接口。webrequest 和 webresponse 类形成了“可插入协议”的基础,利用这种网络服务的实现,您可以开发在使用 internet 资源时不用考虑所用协议的具体细节的应用程序。
system.net.cache -- 定义类型和枚举,这些类型和枚举用于为使用 webrequest 和 httpwebrequest 类获取的资源定义缓存策略。
system.net.configuration -- 应用程序用来以编程方式访问和更新 system.net 命名空间的配置设置的类。
system.net.mail -- 用于将电子邮件发送到简单邮件传输协议 (smtp) 服务器进行传送的类。
system.net.mime -- 包含用于表示多用途 internet 邮件交换 (mime) 标头的类型。这些类型与 system.net.mail 命名空间中的类型一起使用,用于在使用 smtpclient 类发送电子邮件时指定 content-type、content-disposition 和 content-transfer-encoding 标头。
system.net.networkinformation -- 提供对网络流量数据、网络地址信息和本地计算机的地址更改通知的访问。该命名空间还包含实现 ping 实用工具的类。您可以使用 ping 和相关的类检查是否可通过网络访问某台计算机。
system.net.sockets -- 为需要严格控制网络访问的开发人员提供 windows 套接字 (winsock) 接口的托管实现。
.net framework 中的配置命名空间包括:
system.configuration - 包含用于以编程方式访问 .net framework 配置设置并处理配置文件中错误的类。
system.configuration.assemblies - 包含用于配置程序集的类。
system.configuration.install - 提供用于为自己的组件编写自定义安装程序的类。
system.configuration.provider -- 包含由服务器和客户端应用程序共享以支持可插接式模型轻松添加或移除功能的基类。
在 .net framework 中,用于将应用程序全球化和本地化的命名空间包括:
system.globalization — 包含的类定义与区域性相关的信息,其中包括语言、国家/地区、所使用的日历、日期格式的模式、货币与数字以及字符串的排序顺序。
system.resources — 提供一些类和接口,它们使开发人员得以创建、存储并管理应用程序中使用的各种区域性特定的资源。
system.resources.tools -- 包含 stronglytypedresourcebuilder 类,该类提供对强类型资源的支持。这个编译时功能通过创建包含一组静态只读 (get) 属性的类封装对资源的访问,从而使得使用资源变得更加容易。
system.text — 包含表示 ascii、unicode、utf-7 和 utf-8 字符编码的类。
.net framework 中的反射命名空间包括:
system.reflection — 包含的类和接口用于访问已加载的类型及其成员。
system.reflection.emit — 包含的类允许您发出元数据和 microsoft 中间语言 (msil) 并可选择在磁盘上生成 pe 文件。这些类的主要客户端是脚本引擎和编译器。
microsoft.visualbasic 命名空间包含一些模块、枚举和属性,它们提供您可在 visual basic .net 应用程序中使用的属性、函数和常量。该命名空间中的函数示例包括:
microsoft.visual basic.interaction.msgbox
microsoft.visual basic.interaction.shell
microsoft.visual basic.strings.mid
microsoft.visual basic.collection.count
属性和常量的示例中包括 microsoft.visual basic.dateandtime.timeofday 和 vbcrlf。
属性的示例包括 vbfixedstringattribute、vbfixedarrayattribute 和 comclassattribute。
此命名空间还包含提供支持 my 对象的类型的命名空间,例如 microsoft.visualbasic.devices 提供支持类似 my.computer 对象的对象的类型。