当开发者想将他们编写的类放在指定的.NET namespace中的时候,他们就要用到namespace。
namespace
默认地,每一个VB.NET应用程序都在一个默认的namespace中,这个namespace经常作为应用程序的一个绝对namespace位置而被引用。Visual Studio ..NET将它设置到顶级的namespace中,并且自动给它分配一个与您的工程名相匹配的名称。
创建一个新的WindowsApplication1(开始在Visual Studio .NET中为 Windows应用程序创建新工程的时候有默认名称)将设置WindowsApplication1的namespace。如果您想修改工程的namespace,就需要打开工程属性(Project Properties)窗口,然后在Application标签中修改Rootnamespace域。如果您想为一个已经存在的namespace设置namespace的话,例如,您想为System.Windows.Forms设置namespace的话,您必须确定这个类名不会与定义在该namespace中的其它类名冲突。
命名习惯
当生成.NET应用程序(exe)的时候,您为namespace所选择的名字就不是很重要了,因为namespace只存在于您的程序中。两个都使用WindowsApplication1应用程序的namespace不会相互冲突。如果您生成了一个.NET库(dll)的话,那么它将被分配给您的团队或组织以外的人使用,这时候就要确保您选择的namespace不会与其它的namespace相冲突。
对于namespace命名习惯,微软一般建议使用与您公司产品名相关的名称。
配置
除了可以使用绝对位置之外,在更大的绝对namespace中,您还可以使用相对namespace位置来放置您的类。当您在工程中增加一个类的时候,它出现在绝对namespace位置中。
Class Class1
End Class
如果您的工程使用WindowsApplication1作为它的绝对namespace,这个类就会以WindowsApplication1.Class1名称出现。
在相对位置中,您可以在绝对位置和类之间插入一个新的namespace:
Namespace GeneralApplications
Class Class1
End Class
End Namespace
假如这样做的话,Class1的完整引用就是WindowsApplication1.GeneralApplications.Class1。
关键字
namespace关键字可能包括多个不同时期的namespace的名称。还有一点需要牢记,那就是namespace也可能是嵌套的。