博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

C#中的namespace(一)

Posted on 2010-01-28 10:31  RUI2021  阅读(1234)  评论(0编辑  收藏  举报
  • C#中的Namespace详解(1)

    Namespace既名称空间,VS.NET中的各种语言使用的一种代码组织的形式,通过名称空间来分类,以区别不同的代码功能,同时也是VS.NET中所有类的完全名称的一部分。本文对C#中的Namespace进行了介绍,希望可以对初学者有所帮助。

    我现在感到学好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之间必须用分隔符“.”来表明他们两者之间的层次关系!