C# 中名称空间的引用

一.什么是名称空间? 

       

            名称空间是.net 中提供应用程序代码容器的方式,类似jave中的包。

            名称空间的目的就是为了让引用更加准确。就像哪一栋教学楼、哪一层、哪一房间,确定唯一的标识代码及其内容。


二.引用名称空间的规则      

      

            一般情况下,c#代码储存在全局名称空间里,也就是说在该名称空间里的项可以被直接引用。换句话解释:不在同一个名称空间里的项被引用的路径是不一样的。如果要引用不在全局名称空间里的项,那么就要写出该名称空间的限定名称(项类似于变量或赋值语句)。

           限定名称可以应用于包含该层所有信息(定义、项)的引用。限定名称在不同命名空间级别之间使用句点字符(.)连接。一般用namespace进行名称空间的定义。如下例:

        namespace  名称1
   {  
          //    code in  名称1 namespace
         //     name "ageone" defined

        namespace  名称2
       {
         // code in 名称2  namespace
        //  name  "ageone" defined
        }
}   注:上例的代码可能不规范。

          上述代码中定义了两个名称空间 namespace1和2.和两个相同的项ageone. 引用不同名称空间的项的规则就是在名称1中使用该空间的ageone表示为ageone;引用名称2中的ageone则表示为名称1.名称2.ageone。
           总的来说难以理解的就是“名称空间”这四个字而已。

三.名称空间与using语句

           在名称空间中还有一个重要的角色可以使得引用大大简化,那就是using语句。 using的意思是“直接引用该名称空间中的项或名称”。 打个比方,如果在名称1中需要大量使用名称2中的项,那么岂不是每次都要进行复杂的引用吗?
      namespace  名称1
   {  
           using 名称2
          //    code in  名称1 namespace
         //     name "ageone" defined

        namespace  名称2
       {
         // code in 名称2  namespace
        //  name  "ageone" defined
       //   name "weight" defined
      //    name"singing" defined
        }

}
           相同的代码,但是名称空间2中的项变得很多,如果在名称空间1中需要大量的引用名称2中的项,这时只要添加using语句就可以免去不必要的引用代码。在名称1中直接可以引用weight 或 singing 项。
           如果细心的话,可以发现这样的一个问题:名称1中有ageone,名称2中也有ageone,那么假如使用了using语句的话那么在名称空间1中不是会出现两个ageone吗?这样的话会使代码无法编译,使得系统崩溃。using语句可以为名称空间提供一个别名。
   namespace  名称1
   {  
           using   T-名称2
          //    code in  名称1 namespace
         //     name "ageone" defined

        namespace  名称2
       {
         // code in 名称2  namespace
        //  name  "ageone" defined
       //   name "weight" defined
      //    name"singing" defined
        }
}
          如图,这样一来在名称空间1中如果要引用,则名称1.ageone表示为ageone;名称1.名称2.ageone表示为T-ageone。
          再往上延伸,如果将using语句写在全局名称空间之上的话,那么using所定义的项就可以在各个嵌套名称空间里直接引用了。 如果和VB联系在一起,那么using就可以理解为声明全局变量和准确调用的情况。其实就是这样。

    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值