命名空间主要用于组织集合中的对象。集合中可以包含多重命名空间,还可以循环包含其他命名空间。当用户使用大量的对象如类库时,命名空间可以防止含糊和简单引用。
OLAP for WinForms的命名空间是C1.Win.Olap。下述代码片段显示如何使用类全称来描述一个C1OlapPage组件。
Visual Basic
VB |
拷贝代码
|
---|---|
Dim OlapPage1 As C1.uin.Olap.C1OlapPage |
C#
C# |
拷贝代码
|
---|---|
C1.Win.Olap.C1OlapPade OlapPage1; |
命名空间地址有时会出现一个叫做namespacepollution的问题,这个问题发生在开发者的类库被其他库文件中的相同命名空间干扰的时候。这些已有组件的冲突有时被称为collisions。
例如,如果你创建了一个叫做C1OlapPage的新类,你可以在你的工程中无限制的使用它。。然而,C1.Win.Olap集合同时实现了一个叫做的C1OlapPage类。因此,如果你想要在一样的工程中使用C1OlapPage类,你必须使用它的完整引用来创建唯一引用。如果该引用并不是唯一的,Visual Studio .NET将会产生一个命名歧义的错误。下面的代码证明如何描述这些对象:
Visual Basic
VB |
拷贝代码
|
---|---|
' Define a new C1OlapPage object Dim MyOlapPage as C1OlapPage ' Define a new C1Olap.C1OlapPage object. Dim C1OlapPage as C1.Win.Olap.C1OlapPage |
C#
C# |
拷贝代码
|
---|---|
// Define a new C1OlapPage object C1OlapPage MyOlap; // Define a new C1Olap.C1OlapPage object. C1.Win.Olap.C1Olap C1OlapPage; |
完整命名是一个对象引用,它使对象定义的命名空间名称的前缀。你可以在其他项目中使用定义后的对象,如果你创建了一个类引用(从Project菜单中选择AddReference选项),然后在你的代码中使用对象的完整命名。
完整命名将防止命名冲突,因为编译器可以分辨哪一个对象正在使用。然而,命名背身变得很长而且难以处理。想要解决这一问题,你可以使用Imports声明(在中使用)来定义一个别名-一个可用于替代完整命名的缩写,下面的代码将创建两个完整命名的缩写,然后使用这两个缩写来定义对象:
Visual Basic
VB |
拷贝代码
|
---|---|
Imports C1OlapPage = C1.Win.Olap.C1OlapPage Imports MyOlapPage = MyProject.C1OlapPage Dim s1 As C1OlapPage Dim s2 As MyOlapPage |
C#
C# |
拷贝代码
|
---|---|
using C1OlapPage = C1.Win.Olap.C1OlapPage; using MyOlapPage = MyProject.C1OlapPage; C1OlapPage s1; MyOlapPage s2; |
如果你使用不带别名的Imports语句,你可以使用所有的在命名空间中的名字而没有任何限制,因为这些名字在工程中都是唯一的。