快速了解VB.NET名空間
本人很喜歡VB.NET,在工作中也很喜歡總結(jié)關(guān)于VB.NET名空間的經(jīng)驗教訓,下面就這個問題來詳細說說吧。在一個.VB文件中可以包含多個類、模塊以及其它代碼。接下來的設計過程實際上跟VB的差不多,我們可以手動增加其它的代碼到這個文件中去。這里值得指出的是一旦在IDE創(chuàng)建類的時候它就會增加一個新的文件到工程中去。
在下面的例子中,代碼包含了一個關(guān)鍵字End Class。這是一個新的關(guān)鍵字,使用它的目的是為了在一個源文件中包含多個類,這點正是VB.NET與VB6在創(chuàng)建類區(qū)別的精髓所在。每當我們在 VB.NET中創(chuàng)建類的時候,我們只是簡單地將所有的的代碼包含在Class和End Class 之間。例子代碼如下:
- Public Class TheClass
- Public Sub MyWorks()
- End Sub
- End Class
另外在一個特定的源文件(后綴名為.VB)中,我們可以使用多個Class...End Class塊。
類與名空間
VB.NET名空間的概念是.NET環(huán)境重要內(nèi)容,因為它可以提供哪個類可以被組成邏輯組的機理,并且使得這些類更容易的搜索以及管理。在VB.NET名空間是使用塊結(jié)構(gòu)來聲明的。例如:
- Namespace MyNamespace
- Public Class MyClass
- End Class
- End Namespace
在Namespace...End Namespace塊之間聲明的任何類、結(jié)構(gòu)等等將可以使用那個名空間被尋址。在本例子中,我們的類可以使用這個名空間來引用,這樣定義一個變量就變成了:
- Private obj As MyNamespace.MyClass
因為VB.NET名空間是使用塊結(jié)構(gòu)來創(chuàng)建的,所以在單一的源文件中就不僅可以包含多個類,而且可以包含多個名空間。同樣,在一個相同名空間的類可以被創(chuàng)建在分隔的文件中。換句話說,在一個VB.NET工程中,我們可以使用在不同源文件中相同的名空間,而所有在這些名空間中的類將是那個相同名空間的一部分。
為了更好地理解,下面再給出一個源文件:
- Namespace MyNamespace
- Public Class MyClass
- End Class
- End Namespace
我們在工程中還有以下一個獨立的源文件,其代碼如下:
- Namespace MyNamespace
- Public Class MyOtherClass
- End Class
- End Namespace
以上的兩短段代碼是為了說明在同一個VB.NET名空間MyNamespace中有兩個類:MyClass和MyOtherClass。這里還需指出,在缺省狀態(tài)下,VB.NET工程有一個根名空間(root namespace),它實際上是工程屬性的一部分。這個根VB.NET名空間使用了與工程相同的名字。所以當我們使用名空間塊結(jié)構(gòu)的時候,我們實際上是增加到根名空間上去。因此,如果你的工程命名為MyProject,那么我們可以這樣來定義一個變量:
- Private obj As MyProject.MyNamespace.MyClass
當然你也可以改變根名空間,具體操作可以使用菜單選項:Project(工程)->Properties(屬性)。
【編輯推薦】