请高手指点一下关于命名空间的疑惑好吗?初学oop。很多方面不大懂,命名空间就是一例。书上说命名空间是为了限制变量的使用范围,这点我可以理解,就比如vb中的应用,只有引用了某个dll才能调用里面的函数,而且这样在编程的过程中才会出现属性和方法的提示对把!可是最近在看一些。net的时候,发现。net的程序开头往往是用imports语句导入了好几个命名空间,
这时我就想:既然命名空间的目的是为了限制使用的范围,那么当同时导入多个命名空间的时候会不会有冲突呢?因为在。net中可以自定义命名空间的,那如果自己定义的和系统或者他人定义的有冲突怎么办?我关键的是想知道系统是如何辨别不同的并且同时存在的命名空间的呢??我的理解对吗
希望对命名空间比较熟悉的朋友能解释一下我的疑惑好吗?谢谢!!!!

解决方案 »

  1.   

    可以用两种方法在一个名字空间引用同一个名字:一种是用范围分解运算符::,还有一种是
    用u s i n g关键字。
    1. 范围分解
    名字空间中的任何命名都可以用范围分解运算符明确指定,就像引用一个类中的名字一

    2. using指令
    用using 关键字可以让我们立即输入整个名字空间,摆脱输入一个名字空间中标识符的烦
    恼。这种u s i n g和n a m e s p a c e关键字的搭配使用叫作using 指令。using 关键字在当前范围内直接
    声明了名字空间中的所有的名字,所以可以很方便地使用这些无限制的名字