我現(xiàn)在感到學(xué)好C#就是就是要知道,C#的基本語(yǔ)法,C#的新的特點(diǎn),C#能干什么! 其中我感到不管如何,NAMESPACE都是很關(guān)鍵的,可以說(shuō)不是只對(duì)C#而言,而是整個(gè)。NET都是由NAMESPACE組成的,所以我在看了C#的基本語(yǔ)法后,就直奔NAMESPACE來(lái)了,在這里寫(xiě)下自己的一些感覺(jué),希望能對(duì)后面學(xué)習(xí)的人有所幫助。 NAMESPACE在新的NET環(huán)境下編程可以說(shuō)是無(wú)所不在,總之,給我的感覺(jué)就是MS的新一代的語(yǔ)言的核心就是NAMESPACE,我們可以通過(guò)已經(jīng)有的NAMESPACE,做我們想做的和愿意做的,當(dāng)然如果你感覺(jué)現(xiàn)有的還不夠你的使用的話(huà),你也可以自己來(lái)使用現(xiàn)有的來(lái)擴(kuò)展,創(chuàng)建自己的NAMESPACE!(感覺(jué)怎么很象以前的COM、DCOM呢?)
下面我門(mén)說(shuō)說(shuō)如何建立一個(gè)NAMESPACE!
定義一個(gè)NAMESPACE首先需要包含關(guān)鍵詞:namespace 格式如下: namespace Your_nsname { //namespase主體內(nèi)容; } 呵呵,給我的感覺(jué)就好象和Class或Struct一樣。不過(guò)他們除了形式有類(lèi)似外,確實(shí)在很多方面都不相同,具體我們以后會(huì)慢慢說(shuō)到!先往下看。。。
在一個(gè)NAMESPACE的主體內(nèi),可以引用其他的NAMESPACE!例如:
namespace Your_nsname{ //下面引用System和System.Xml著兩個(gè)NAMESPACE; using System; using System.Xml; //namespase主體內(nèi)容;
} 在上面有一個(gè)需要注意的就是,如果要引用NAMESPACE的話(huà),那么應(yīng)該在申明其它類(lèi)型前引用,如下是錯(cuò)誤的: namespace Your_nsname{ //其它一些內(nèi)容; //由于引用System和System.Xml放到了其它語(yǔ)句之后,所以。。。
using System; using System.Xml; } 另外對(duì)于NAMESPACE還有一個(gè)有趣的地方,就是。。。
我們先看一下下面的的兩個(gè)方式: 方式一、
namespace N1.N2 { class A {} class B {} } 方式二、
namespace N1 { namespace N2 { class A {} class B {} } } 在上面的良種方式中,第二種很容易就能看懂,是在NAMESPACE N1中再創(chuàng)建一個(gè)NAMESPACE N2,而N2中有兩個(gè)類(lèi)(class)A、B!那么第一種呢?其實(shí)上面兩個(gè)方式定義的其實(shí)是一模一樣的。NAMESPACE是可以嵌套定義的,我們可以使用第二種方式,層次感覺(jué)比較清楚,也可以使用第一種方式,所不同的是,第一中方式中,在N1和N2之間必須用分隔符“.”來(lái)表明他們兩者之間的層次關(guān)系!
在使用的時(shí)候用如下的方式: N1.N2.A; N1.N2.B;
|