C# 命名空间9

栏目:精品范文发布:2025-01-09浏览:1收藏

第一篇:C# 命名空间9

命名空间.................................................................................................................................................................2 9.1 编译单元......................................................................................................................................................2 9.2 命名空间声明..............................................................................................................................................2 9.3 using 指令.....................................................................................................................................................3 9.3.1 Using 别名指令.....................................................................................................................................4 9.3.2 Using 命名空间指令.............................................................................................................................6 9.4 命名空间成员..............................................................................................................................................8 9.5 类型声明......................................................................................................................................................9

1.命名空间

C# 程序是利用命名空间组织起来的。命名空间既用作程序的“内部”组织系统,也用作“外部”组织系统(一种向其他程序公开自己拥有的程序元素的方法)。using 指令(第 1.3 节)是用来使命名空间用起来更方便。

1.1 编译单元

compilation-unit 定义了源文件的总体结构。编译单元的组成方式如下:先是零个或多个 using-directive,后跟零个或多个 global-attributes,然后是零个或多个 namespace-member-declaration。

compilation-unit: using-directivesopt

global-attributesopt

namespace-member-declarationsopt

一个 C# 程序由一个或多个编译单元组成,每个编译单元都用一个单独的源文件来保存。编译 C# 程序时,所有这些编译单元一起进行处理。因此,这些编译单元间可以互相依赖,甚至以循环方式互相依赖。

一个编译单元中的 using-directives 影响该编译单元内的 global-attributes 和 namespace-member-declarations,但是不会影响其他编译单元。

编译单元的 global-attributes(第 错误!未找到引用源。章)允许指定目标程序集和模块的属性。程序集和模块充当类型的物理容器。程序集可以包含若干个在物理上分离的模块。一个程序中各编译单元中的 namespace-member-declarations 用于为一个称为“全局命名空间”的单个声明空间提供成员。例如:

文件 A.cs:

class A {} 文件 B.cs:

class B {} 这两个编译单元是为该全局命名空间提供成员的,在本例中它们分别声明了具有完全限定名 A 和 B 的两个类。由于这两个编译单元为同一声明空间提供成员,因此如果它们分别包含了一个同名成员的声明,将会是个错误。

1.2 命名空间声明

一个 namespace-declaration 的组成方式如下:先是关键字 namespace,后跟一个命名空间名称和体,然后加一个分号(可选)。

namespace-declaration: namespace

qualified-identifier

namespace-body

;opt

qualified-identifier: identifier qualified-identifier

.identifier namespace-body: {

using-directivesopt

namespace-member-declarationsopt

}

namespace-declaration 可以作为顶级声明出现在 compilation-unit 中,或是作为成员声明出现在另一个 namespace-declaration 内。当 namespace-declaration 作为顶级声明出现在 compilation-unit 中时,该命名空间成为全局命名空间的一个成员。当一个 namespace-declaration 出现在另一个 namespace-declaration 内时,该内部命名空间就成为包含着它的外部命名空间的一个成员。无论是何种情况,一个命名空间的名称在它所属的命名空间内必须是唯一的。

命名空间隐式地为 public,而且在命名空间的声明中不能包含任何访问修饰符。在 namespace-body 内,可选用 using-directives 来导入其他命名空间和类型的名称,这样,就可以直接地而不是通过限定名来引用它们。可选的 namespace-member-declarations 用于为命名空间的声明空间提供成员。请注意,所有的 using-directives 都必须出现在任何成员声明之前。

namespace-declaration 中的 qualified-identifier 可以是单个标识符或者是由“.”标记分隔的标识符序列。后一种形式允许一个程序直接定义一个嵌套命名空间,而不必按词法嵌套若干个命名空间声明。例如,namespace N1.N2 { class A {} class B {} } 在语义上等效于

namespace N1 { namespace N2 {

} } class A {} class B {} 命名空间是可扩充的,两个具有相同的完全限定名的命名空间声明是在为同一声明空间(第 错误!未找到引用源。节)提供成员。在下面的示例中

namespace N1.N2 { class A {} } namespace N1.N2 { class B {} } 上面的两个命名空间声明为同一声明空间提供了成员,在本例中它们分别声明了具有完全限定名 N1.N2.A 和 N1.N2.B 的两个类。由于两个声明为同一声明空间提供成员,因此如果它们分别包含一个同名成员的声明,就将出现错误。

1.3 using 指令

using 指令(using directives)方便了对在其他命名空间中定义的命名空间和类型的使用。using 指令影响 namespace-or-type-name(第 错误!未找到引用源。节)和 simple-name(第 7.5.2 节)的名称解析过程,与声明不同,using 指令不会向在其中使用它们的编译单元或命名空间的基础声明空间中提供新成员。

using-directives: using-directive using-directives

using-directive using-directive: using-alias-directive using-namespace-directive using-alias-directive(第 1.3.1 节)用于为一个命名空间或类型引入一个别名。using-namespace-directive(第 1.3.2 节)用于导入一个命名空间的类型成员。

using-directive 的范围扩展到直接包含它的编译单元或命名空间体内的所有 namespace-member-declarations。具体而言,using-directive 的范围不包括与它对等的 using-directive。因此,对等 using-directive 互不影响,而且按什么顺序编写它们也无关紧要。

1.3.1 Using 别名指令

using-alias-directive 为一个命名空间或类型(在直接包含该指令的编译单元或命名空间体内)引入用作别名的标识符。

using-alias-directive: using

identifier

=

namespace-or-type-name

;在包含 using-alias-directive 的编译单元或命名空间体内的成员声明中,由 using-alias-directive 引入的标识符可用于引用给定的命名空间或类型。例如:

namespace N1.N2 { class A {} } namespace N3 { using A = N1.N2.A;class B: A {} } 上面的示例中,在 N3 命名空间中的声明成员内,A 是 N1.N2.A 的别名,因此类 N3.B 从类 N1.N2.A 派生。通过为 N1.N2 创建别名 R 然后引用 R.A 可以得到同样的效果:

namespace N3 { using R = N1.N2;class B: R.A {} } using-alias-directive 中的 identifier 在直接包含该 using-alias-directive 的编译单元或命名空间的声明空间内必须是唯一的。例如: namespace N3 { class A {} } namespace N3 { using A = N1.N2.A;}

// Error, A already exists 上例中,N3 已包含了成员 A,因此 using-alias-directive 使用 A 作标识符会导致一个编译时错误。同样,如果同一个编译单元或命名空间体中的两个或更多 using-alias-directive 用相同名称声明别名,也会导致一个编译时错误。

using-alias-directive 使别名可用在特定编译单元或命名空间体内,但是它不会向基础声明空间提供任何新成员。换句话说,using-alias-directive 是不可传递的,它仅影响它在其中出现的编译单元或命名空间体。在下面的示例中

namespace N3 { using R = N1.N2;} namespace N3 { class B: R.A {} }

// Error, R unknown 引入 R 的 using-alias-directive 的范围只延伸到包含它的命名空间体中的成员声明,因此 R 在第二个命名空间声明中是未知的。但是,如果将 using-alias-directive 放置在包含它的编译单元中,则该别名在两个命名空间声明中都可用:

using R = N1.N2;namespace N3 { class B: R.A {} } namespace N3 { class C: R.A {} } 和常规成员一样,using-alias-directive 引入的别名在嵌套范围中也可被具有相似名称的成员所隐藏。在下面的示例中

using R = N1.N2;namespace N3 { class R {} class B: R.A {} }

// Error, R has no member A B 的声明中对 R.A 的引用将导致编译时错误,原因是这里的 R 所引用的是 N3.R 而不是 N1.N2。

编写 using-alias-directive 的顺序并不重要,对在 using-alias-directive 引用的 namespace-or-type-name 的解析过程既不受 using-alias-directive 本身影响,也不受直接包含着该指令的编译单元或命名空间体中的其他 using-directive 影响。换句话说,对 using-alias-directive 的 namespace-or-type-name 的解析,就如同在直接包含该指定的编译单元或命名空间体中根本没有 using-directive 一样来处理。在下面的示例中

namespace N1.N2 {} namespace N3 { using R1 = N1;

// OK using R2 = N1.N2;using R3 = R1.N2;}

// OK

// Error, R1 unknown 最后一个 using-alias-directive 导致编译时错误,原因是它不受第一个 using-alias-directive 的影响。

using-alias-directive 可以为任何命名空间或类型创建别名,包括它在其中出现的命名空间本身,以及嵌套在该命名空间中的其他任何命名空间或类型。

对一个命名空间或类型进行访问时,无论用它的别名,还是用它的所声明的名称,结果是完全相同的。例如,给定

namespace N1.N2 { class A {} } namespace N3 { using R1 = N1;using R2 = N1.N2;class B {

} } N1.N2.A a;R1.N2.A b;R2.A c;

// refers to N1.N2.A // refers to N1.N2.A

// refers to N1.N2.A 名称 N1.N2.A、R1.N2.A 和 R2.A 是等效的,它们都引用完全限定名为 N1.N2.A 的类。

1.3.2 Using 命名空间指令

using-namespace-directive 将一个命名空间中所包含的类型导入到直接包含该指定的编译单元或命名空间体中,从而可以直接使用每个被导入的类型的标识符而不必加上它们的限定名。

using-namespace-directive: using

namespace-name

;在包含 using-namespace-directive 的编译单元或命名空间体中的成员声明内,可以直接引用包含在给定命名空间中的那些类型。例如:

namespace N1.N2 { class A {} } namespace N3 { using N1.N2;class B: A {} } 上面的示例中,在 N3 命名空间中的成员声明内,N1.N2 的类型成员是直接可用的,所以类 N3.B 从类 N1.N2.A 派生。

using-namespace-directive 导入包含在给定命名空间中的类型,但要注意,它不导入嵌套的命名空间。在下面的示例中

namespace N1.N2 { class A {} } namespace N3 { using N1;class B: N2.A {} }

// Error, N2 unknown using-namespace-directive 导入包含在 N1 中的类型,但是不导入嵌套在 N1 中的命名空间。因此,在 B 的声明中引用 N2.A 导致编译时错误,原因是在涉及的范围内没有名为 N2 的成员。

与 using-alias-directive 不同,using-namespace-directive 可能导入一些类型,它们的标识符在包含该指令的编译单元或命名空间体内已被定义。事实上,using-namespace-directive 导入的名称会被包含该指令的编译单元或命名空间体中具有类似名称的成员所隐藏。例如:

namespace N1.N2 { class A {} class B {} } namespace N3 { using N1.N2;class A {} } 此处,在 N3 命名空间中的成员声明内,A 引用 N3.A 而不是 N1.N2.A。

当由同一编译单元或命名空间体中的 using-namespace-directive 导入多个命名空间时,如果它们所包含的类型中有重名的,则直接引用该名称就被认为是不明确的。在下面的示例中

namespace N1 { class A {} } namespace N2 { class A {} } namespace N3 { using N1;using N2;class B: A {} } N1 和 N2 都包含一个成员 A,而由于 N3 将两者都导入,所以在 N3 中引用 A 会导致一

// Error, A is ambiguous 个编译时错误。这种情况的冲突,有两种解决办法:使用限定名来引用 A,或者利用 using-alias-directive 为想要引用的某个特定的 A 引入一个别名。例如:

namespace N3 { using N1;using N2;using A = N1.A;class B: A {} }

// A means N1.A 同 using-alias-directive 一样,using-namespace-directive 不会向编译单元或命名空间的基础声明空间提供任何新成员,因而,它仅影响它出现在的编译单元或者命名空间体。

对 using-namespace-directive 所引用的 namespace-name 的解析方式,与对 using-alias-directive 所引用的 namespace-or-type-name 的解析方式相同。因此,同一编译单元或命名空间体中的 using-namespace-directive 互不影响,而且可以按照任何顺序编写。

1.4 命名空间成员

namespace-member-declaration 或是一个 namespace-declaration(第 1.2 节),或是一个 type-declaration(第 9.5 节)。

namespace-member-declarations: namespace-member-declaration namespace-member-declarations

namespace-member-declaration namespace-member-declaration: namespace-declaration type-declaration 编译单元或命名空间体可以包含 namespace-member-declarations,而此类声明则为与包含它们的编译单元或命名空间体的基础声明空间提供新成员。

1.5 类型声明

type-declaration 是 class-declaration(第 错误!未找到引用源。节)、struct-declaration(第 错误!未找到引用源。节)、interface-declaration(第 错误!未找到引用源。节)、enum-declaration(第 错误!未找到引用源。节)或 delegate-declaration(第 错误!未找到引用源。节)。

type-declaration: class-declaration struct-declaration interface-declaration enum-declaration delegate-declaration type-declaration 可以作为顶级声明出现在编译单元中,或者作为成员声明出现在命名空间、类或结构内部。

当类型 T 的类型声明作为编译单元中的顶级声明出现时,新声明的类型的完全限定名正好是 T。当类型 T 的类型声明出现在命名空间、类或结构内时,新声明的类型的完全限定名是 N.T,其中 N 是包含它的命名空间、类或结构的完全限定名。

在类或结构内声明的类型称为嵌套类型(第 错误!未找到引用源。节)。在一个类型声明中允许使用哪些访问修饰符以及具有何种默认访问属性,依赖于该声明发生处的上下文(第 错误!未找到引用源。节):

 在编译单元或命名空间中声明的类型可以具有 public 或 internal 访问属性。默认为 internal 访问属性。 在类中声明的类型可以具有 public、protected internal、protected、internal 或 private 访问属性。默认为 private 访问属性。 在结构中声明的类型可以具有 public、internal 或 private 访问属性。默认为

private 访问属性。

第二篇:C#命名空间详解

C#命名空间详解

包含支持用C#语言进行编译的代码 ? Microsoft.Jscript

包含支持用Jscript语言进行编译和代码生成的Jscript运行库和类 ? Microsoft.VisualBasic 包含Visual Basic.NET运行库。此运行库于Visual Basic.NET语言一起使用。此命名空间包含支持Visual Basic.NET语言进行编译和代码生成类。? Microsoft.Win32

提供两种类型的类:处理由操作系统引发的事件的类和对系统注册表进行操作的类。? System

最重要的类,包含用于定义常用值和引用数据类型、事件和事件处理程序、接口、属性、和处理异常的基础类和基类。

? System.CodeDom

包含用于表示源代码文档的元素和结构的类 ? System.CodeDom.Compiler

包含源代码模型的结构,管理源代码所生成的编译的类。? System.Collections

包含定义各种对象集合(如列表、队列、位数组、散列表和词典)的接口和类。? System.Collections.Specialized

包含中用的强类型集合;例如,链接表词典、位向量以及值包含字符串的集合。? System.CommponentModel

提供用于实现组件和空间的运行时和设计时行为的类。此命名空间包括用于属性和类型转换器的事件、数据源绑定和组件授权的基类和接口。

? System.ComponentModel.Design

使开发人员可以生成自定义用户控件,并将这些控件包括在设计时环境中以便与供应商空间一起使用。? System.ComponentModel.Design.Serialization

提供设计器所进行的组件序列化支持。此命名空间中的类可用于提哦能够自定义序列化程序、管理特定类型的序列化、管理设计器加载和设计器序列化,以及优化设计器重新加载。? System.Configuration

提供以变成方式访问.NET空间配置和处理配置文件(.config文件)中的错误的类和接口。? System.Configuration.Assemblies 包含用于配置程序集的类。

? System.Configuration.Install

提供为组件编写自定义安装程序的类。Installer类是.NET框架中所有自定义安装程序的基类。? System.Data

基本上由构成ADO.NET结构的类组成。使用ADO.NET结构可以生成用于有效管理多个数据源中的数据组件。在断开连接的方案(如Internet)中,ADO.NET提供可以在多城系统中请求、更新和协调数据的工具。ADO.NET结构也可以在客户端应用程序或ASP.NET创建的HTML页中实现。? System.Data.Common

包含由.NET数据提供程序共享的类。.NET数据提供程序描述用于在托管空间中访问数据源的类的集合。? System.Data.OleDb

封装OLE DB.NET数据提供程序。.NET数据提供程序描述用于在托管空间中访问数据源的类的集合 ? System.Data.SqlClient

封装SQL Server.NET数据提供程序。.NET数据提供描述用于在托管空间中访问数据源的类的集合。? System.Data.SqlTypes

提供用于SQL Sserver中本机数据类型的类。这些类提供其他数据类型更安全、更快速的替代物。使用此命名空间中的类有助于防止在可能发生精度损失的情况中出现的类行转换错误。? System.Diagnostics

提供允许与系统进程、事件日志和性能计数器进行交互的类。此命名空间还提供可以调试应用程序和跟踪代码执行的类。

? System.Diagnostics.SymbolStore

提供允许读取和写入调适符号信息的类。面向.NET框架的编译器可以将调试符号信息存储到程序员的数据库(PDB)文件中。调试器和代码分析器工具可以在运行时读取调试符号信息。? System.DirectioyServices

提供从托管代码轻松访问Active Directory的方法。? System.Drawing 提供对GDI+基本形功能的访问。System.Drawing.Drawing2D,System.Drawing.Imaging和System.Drawing.Text命名空间提供了更高级的功能 ? System.Drawing.Design

包含扩展设计时用户界面(UI)逻辑和绘制的类。可以进一步扩展此设计时功能,以创建自定义工具箱项、类型特定的值编辑器(可编辑和以图形方式表示所支持的类型的值)或类型转换器(可在特定类型之间转换值)。? System.Drawing.Drawing2D

提供高级的二维和向量图形功能。此命名空间包括渐变笔、Matrix类(用于定义几何转换)和GraphicsPath类。? System.Drawing.Imaging 提供高级的GDI+图象处理功能 ? System.Drawing.Printing 提供与打印相关的服务。? System.Drawing.Text

提供高级的GDI+版式功能。此命名空间中的类使用户可以创建和使用字体集合。? System.EnterpriseServices

为企业级应用程序提供重要的基础结构。COM+为企业级环境中部署的组件编程模型提供服务结构。此命名空间为.NET框架对象提供对COM+服务的访问,使.NET框架对象更适用于企业级应用程序。? System.EnterpriseServices.CompensatingResourceManager

提供在托管代码中使用补偿资源管理器(CRM)的类。CRM是由COM+提供的一项服务,使用户可以在Microsoft分布式事务处理协调器(DTC)事务中包括非事务对象。虽然CRM不提供完整资源管理器的功能,但它们却通过恢复日志提供事务性和持久性。? System.Globalization

包含定义区域性相关信息的类,这些信息包括语言、国家/地区、正在使用的日历、日期的格式模式、货币、数字以及字符串的排序顺序。? System.IO

包含允许对数据流和文件进行同步和异步读写的类型。? System.IO.IsolatedStorage

包含允许船舰和使用独立存储区的类型。通过使用这些存储区,可以读写信任度较低的代码无法访问的数据,防止公开可保存在文件系统其他位置的敏感信息。数据存储在独立于当前用户和代码所在的程序集的数据仓中。? System.ManageMent

提供对一组丰富的管理信息和管理事件(有关符合Windows管理规范(WMI)基础机构的系统、设备和应用程序的)的访问。

? System.Management.Instrumentation

提供在规范应用程序管理并通过WMI向潜在用户公开管理信息和事件时必须的类。这样,Microsoft Application Center 或 Microsoft Operations Manager 等用户者就可以轻松地管理您的应用程序。而管理员脚本或其他应用程序(托管应用程序和非过关应用程序)也可以监视和配置您的应用程序。? System.Messaging

提供用户连接、监视和管理网络上的消息列队以及发送、和接受或查看消息的类。? System.Net

为当前网络采用的多种协议提供简单的编程接口。WebRequest和WebResponse类构成所谓的可插接式协议的基础,该协议式一种网络服务的实现,它使您可以开发使用Internet资源的应用程序,而不必考虑各个协议的具体细节。? System.Net.Sockets

为需要严格控制网络访问的开发人员提供Windows套接字(Winsock)接口的托管实现。? System.Refection

包含提供已加载类型、方法和字段的托管视图的类和接口,并具由动态创建和调用类型的能力。? System.Reflection.Emit

包含允许编译器或工具发出元数据和Micosoft中间语言(MSIL)并在磁盘上生成PE(可选)的类。这些类的主要客户端是脚本引擎和编译器。

? System.Runtime.CompilerServices

第三篇:C# System命名空间简介

System 命名空间 类

Activator 包含特定的方法,用以在本地或从远程创建对象类型,或获取对现有远程对象的引用。

AppDomain 表示应用程序域,它是一个应用程序在其中执行的独立环境。不能继承此类。AppDomainSetup 表示可以添加到 AppDomain 的实例的程序集绑定信息。

AppDomainUnloadedException 在尝试访问已卸载的应用程序域时引发的异常。ApplicationException 发生非致命应用程序错误时引发的异常。ArgumentException 在向方法提供的其中一个参数无效时引发的异常。

ArgumentNullException 当将空引用(在 Visual Basic 中为 Nothing)传递给不接受它作为有效参数的方法时引发的异常。

ArgumentOutOfRangeException 当参数值超出调用的方法所定义的允许取值范围时引发的异常。

ArithmeticException 因算术运算、类型转换或转换操作中的错误而引发的异常。

Array 提供创建、操作、搜索和排序数组的方法,因而在公共语言运行库中用作所有数组的基类。

ArrayTypeMismatchException 当试图在数组中存储类型不正确的元素时引发的异常。AssemblyLoadEventArgs 为 AssemblyLoad 事件提供数据。Attribute 自定义属性的基类。

AttributeUsageAttribute 指定另一特性类的用法。无法继承此类。

BadImageFormatException 当 DLL 或可执行程序的文件图像无效时引发的异常。BitConverter 将基础数据类型与字节数组相互转换。Buffer 操作基元类型的数组。

CannotUnloadAppDomainException 卸载应用程序域的尝试失败时引发的异常。CharEnumerator 支持循环访问 String 并读取它的各个字符。

CLSCompliantAttribute 指示程序元素是否符合公共语言规范(CLS)。无法继承此类。Console 表示控制台应用程序的标准输入流、输出流和错误流。无法继承此类。ContextBoundObject 定义所有上下文绑定类的基类。

ContextMarshalException 在尝试将对象封送过上下文边界失败时引发的异常。ContextStaticAttribute 指示静态字段的值是特定上下文的唯一值。Convert 将一个基本数据类型转换为另一个基本数据类型。DBNull 表示空值。Delegate 表示委托,委托是一种数据结构,它引用静态方法或引用类实例及该类的实例方法。DivideByZeroException 试图用零除整数值或十进制数值时引发的异常。

DllNotFoundException 当未找到在 DLL 导入中指定的 DLL 时所引发的异常。

DuplicateWaitObjectException 当对象在同步对象数组中不止一次出现时引发的异常。EntryPointNotFoundException 因不存在项方法而导致加载类的尝试失败时引发的异常。Enum 为枚举提供基类。

Environment 提供有关当前环境和平台的信息以及操作它们的方法。不能继承此类。EventArgs EventArgs 是包含事件数据的类的基类。Exception 表示在应用程序执行期间发生的错误。

ExecutionEngineException 当公共语言运行库的执行引擎中发生内部错误时引发的异常。无法继承此类。

FieldAccessException 当试图非法访问类中的私有字段或受保护字段时引发的异常。FlagsAttribute 指示可以将枚举作为位域(即一组标志)处理。

FormatException 当参数格式不符合调用的方法的参数规范时引发的异常。GC 控制系统垃圾回收器(一种自动回收未使用内存的服务)。

IndexOutOfRangeException 试图访问索引超出数组界限的数组元素时引发的异常。无法继承此类。

InvalidCastException 因无效类型转换或显式转换引发的异常。

InvalidOperationException 当方法调用对于对象的当前状态无效时引发的异常。

InvalidProgramException 当程序包含无效 Microsoft 中间语言(MSIL)或元数据时将引发的异常。通常这表示编译器中出现错误。

LoaderOptimizationAttribute 用于为可执行应用程序的主方法设置默认的加载程序优化策略。LocalDataStoreSlot 封装内存槽以存储本地数据。无法继承此类。

MarshalByRefObject 允许在支持远程处理的应用程序中跨应用程序域边界访问对象。Math 为三角函数、对数函数和其他通用数学函数提供常数和静态方法。MemberAccessException 访问类成员的尝试失败时引发的异常。

MethodAccessException非法尝试访问类中的私有方法或受保护的方法时引发的异常。MissingFieldException 试图动态访问不存在的字段时引发的异常。

MissingMemberException 试图动态访问不存在的类成员时引发的异常。MissingMethodException 试图动态访问不存在的方法时引发的异常。

MTAThreadAttribute 指示应用程序的 COM 线程模型为多线程单元(MTA)。

MulticastDelegate 表示多路广播委托;即,其调用列表中可以拥有多个元素的委托。

MulticastNotSupportedException 当试图合并不可合并的委托类型的两个实例时引发的异常,除非操作数中有一个是空引用(在 Visual Basic 中为 Nothing)。无法继承此类。NonSerializedAttribute 指示可序列化类的某个字段不应被序列化。无法继承此类。

NotFiniteNumberException 当浮点值为正无穷大、负无穷大或非数字(NaN)时引发的异常。

NotImplementedException 在无法实现请求的方法或操作时引发的异常。NotSupportedException 当调用的方法不受支持,或试图读取、查找或写入不支持调用功能的流时引发的异常。

NullReferenceException 尝试取消引用空对象引用时引发的异常。

Object 支持.NET Framework 类层次结构中的所有类,并为派生类提供低级别服务。这是.NET Framework 中所有类的最终基类;它是类型层次结构的根。ObjectDisposedException 对已处置的对象执行操作时所引发的异常。ObsoleteAttribute 标记不再使用的程序元素。无法继承此类。

OperatingSystem 表示有关操作系统的信息,如版本和平台标识符。OutOfMemoryException 没有足够的内存继续执行程序时引发的异常。OverflowException 在选中的上下文中所进行的算术运算、类型转换或转换操作导致溢出时引发的异常。

ParamArrayAttribute 指示方法在调用中将允许参数的数目可变。无法继承此类。PlatformNotSupportedException 当功能未在特定平台上运行时所引发的异常。

Random 表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备。RankException 将维数错误的数组传递给方法时引发的异常。

ResolveEventArgs 为 TypeResolve、ResourceResolve 和 AssemblyResolve 事件提供数据。SerializableAttribute 指示一个类可以序列化。无法继承此类。StackOverflowException 挂起的方法调用过多而导致执行堆栈溢出时引发的异常。无法继承此类。

STAThreadAttribute 指示应用程序的 COM 线程模型是单线程单元(STA)。String 表示文本,即一连串 Unicode 字符。

SystemException 为 System 命名空间中的预定义异常定义基类。ThreadStaticAttribute 指示静态字段的值对于每个线程都是唯一的。TimeZone 表示时区。Type 表示类型声明:类类型、接口类型、数组类型、值类型和枚举类型。

TypeInitializationException 作为由类初始值设定项引发的异常周围的包装引发的异常。无法继承此类。

TypeLoadException 类型加载失败发生时引发的异常。TypeUnloadedException 试图访问已卸载的类时引发的异常。

UnauthorizedAccessException 当操作系统因 I/O 错误或指定类型的安全错误而拒绝访问时所引发的异常。

UnhandledExceptionEventArgs 为以下情况下引发的事件提供数据:存在一个不是由应用程序域处理的异常。

Uri 提供统一资源标识符(URI)的对象表示形式和对 URI 各部分的轻松访问。

UriBuilder 为统一资源标识符(URI)提供自定义构造函数,并修改 Uri 类的 URI。UriFormatException 当检测到无效的统一资源标识符(URI)时引发的异常。ValueType 提供值类型的基类。

Version 表示公共语言运行库程序集的版本号。无法继承此类。WeakReference 表示“弱引用”,即在引用对象的同时仍然允许对该对象进行垃圾回收。接口

IAppDomainSetup 表示可以添加到 AppDomain 的实例的程序集绑定信息。IAsyncResult 表示异步操作的状态。

ICloneable 支持克隆,即用与现有实例相同的值创建类的新实例。

IComparable 定义通用的比较方法,由值类型或类实现以创建类型特定的比较方法。IConvertible 定义特定的方法,这些方法将实现引用或值类型的值转换为具有等效值的公共语言运行库类型。

ICustomFormatter 定义一种方法,它支持对象值的自定义(用户定义)格式设置。IDisposable 定义一种释放分配的非托管资源的方法。IFormatProvider 提供用于检索控制格式化的对象的机制。IFormattable 提供将对象的值格式化为字符串表示形式的功能。IServiceProvider 定义一种检索服务对象的机制,服务对象是为其他对象提供自定义支持的对象。

_AppDomain 表示应用程序域,它是一个应用程序在其中执行的独立环境。结构

ArgIterator 表示变长参数列表;即采用可变数量的参数的函数的参数。Boolean 表示布尔值。

Byte 表示一个 8 位无符号整数。

解锁后支持完整在线阅读或下载编辑海量优质内容资源

C# 命名空间9

第一篇:C# 命名空间9命名空间.....................................................................................................…
点击下载
分享:
热门文章
    热门标签
    确认删除?