1.5.1 命名空间简介
下面是一个典型的命名空间的代码实例。
namespace MyNamespace
{
using System;
public Class MyClass
{
//具体代码
}
}
把一个类型如MyClass包含在命名空间中,可以有效地给这个类型指定一个较长的名称。该名称包括类型的命名空间,后面是句点(.)和类的名称。在上面的例子中,MyClass类型的全称是MyNamespace.MyClass。这样,在不同命名空间下有相同名称的不同类型就可以在同一个程序中使用了。
用户也可以在命名空间中嵌套其他命名空间,为类型创建层次结构。其代码如下。
namespace MyNamespace1
{
namespace MyNamespace2
{
namespace MyNamespace3
{
class MyClass
{
//具体代码
}
}
}
}
每个命名空间名都由它所在命名空间的名称组成,这些名称用句点分隔开,首先是最外层的命名空间,紧跟其后的是内层的命名空间。所以MyNamespace2命名空间的全名是MyNamespace1. MyNamespace2,MyClass类的全名是MyNamespace1.MyNamespace2.MyNamespace3. MyClass。
使用这个语法也可以组织自己的命名空间定义中的命名空间,所以上面的代码也可以采用如下的方式编写。
namespace MyNamespace1.MyNamespace2.MyNamespace3
{
class MyClass
{
//具体代码
}
}
注意不允许在另一个嵌套的命名空间中声明多部分的命名空间。
命名空间与程序集是不同的概念,两者没有必然的关系。在一个程序集中可以使用不同的命名空间,也可以在不同的程序集中使用同一个命名空间中的类型。






