说说C#中的命名空间

命名空间
命名空间的声明:namespace 关键字用于声明一个命名空间。在命名空间的声明中不能包含任何访问修饰符。声明命名空间可以帮助控制类名称和方法名称的范围,防止命名冲突。
  命名空间是可以嵌套的。
  例如:
  namespace A
  {
    namespace B
    {    }  }
       或者
  namespace A.B
  {
      }
两者是等效的。
命名空间的引用:
 使用using命令导入命名空间、或者通过完全的限定名。多数情况使用using是可以的。但是当两个命名空间存在相同类名时,怎么会导致编译时错误,
此时就需要使用完全限定名,还有一种办法就是使用using 为命名空间起别名。
  例如:  
  声明两个命名空间,都有相同的类Test。
  namespace A
  {
    public class Test
    {    }  }
  namespace B
  {
    public class Test
    {
    }
  }
只是用一个命名空间的类,可以使用using指令,或者使用完全的限定名。
  例如:
  using A;  namespace C
  {
    class Program
    {
      static void Main(string[] args)
      {
          Test a=new Test(); // 等价于完全限定名  A.Test A = new A.Test();
      }
    }
  }
如果同时使用A,B两个命名空间的Test类,就会报错  “Test”是“A.Test”和“B.Test”之间的不明确的引用
  using A;  using B;  namespace C
  {
    class Program
    {
      static void Main(string[] args)
      {
          Test a=new Test();       }
    }
  }
此时需要使用完全限定名来使用类Test。
  using A;  using B;  namespace C
  {
    class Program
    {
      static void Main(string[] args)
      {
          A.Test a=new A.Test();       }
    }
  }
这样就不会报错了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值