日期:2011-05-16  浏览次数:20487 次

 

我现在感到学好C#就是就是要知道,C#的基本语法,C#的新的特点,C#能干什么!

其中我感到不管如何,NAMESPACE都是很关键的,可以说不是只对C#而言,而是整个。NET都是由NAMESPACE组成的,所以我在看了C#的基本语法后,就直奔NAMESPACE来了,在这里写下自己的一些感觉,希望能对后面学习的人有所帮助。


NAMESPACE在新的NET环境下编程可以说是无所不在,总之,给我的感觉就是MS的新一代的语言的核心就是NAMESPACE,我们可以通过已经有的NAMESPACE,做我们想做的和愿意做的,当然如果你感觉现有的还不够你的使用的话,你也可以自己来使用现有的来扩展,创建自己的NAMESPACE!(感觉怎么很象以前的COM、DCOM呢?)


下面我门说说如何建立一个NAMESPACE!

定义一个NAMESPACE首先需要包含关键词:namespace

格式如下:

namespace Your_nsname

{

//namespase主体内容;

}


呵呵,给我的感觉就好象和Class或Struct一样。不过他们除了形式有类似外,确实在很多方面都不相同,具体我们以后会慢慢说到!先往下看。。。


在一个NAMESPACE的主体内,可以引用其他的NAMESPACE!例如:

namespace Your_nsname{

//下面引用System和System.Xml着两个NAMESPACE;

using System;

using System.Xml;


//namespase主体内容;

}

在上面有一个需要注意的就是,如果要引用NAMESPACE的话,那么应该在申明其它类型前引用,如下是错误的:

namespace Your_nsname{

//其它一些内容;


//由于引用System和System.Xml放到了其它语句之后,所以。。。

using System;

using System.Xml;

}


另外对于NAMESPACE还有一个有趣的地方,就是。。。

我们先看一下下面的的两个方式:


方式一、

namespace N1.N2

{ class A {}

class B {}

}


方式二、

namespace N1

{

namespace N2

{

class A {}

class B {}

}

}


在上面的良种方式中,第二种很容易就能看懂,是在NAMESPACE N1中再创建一个NAMESPACE N2,而N2中有两个类(class)A、B!那么第一种呢?其实上面两个方式定义的其实是一模一样的。NAMESPACE是可以嵌套定义的,我们可以使用第二种方式,层次感觉比较清楚,也可以使用第一种方式,所不同的是,第一中方式中,在N1和N2之间必须用分隔符“.”来表明他们两者之间的层次关系!

在使用的时候用如下的方式:

N1.N2.A;

N1.N2.B;