上QQ阅读APP看书,第一时间看更新
2.2.3 引入命名空间
有时候会遇到命名空间的名字很长,或者层次较多的情况,如MyNamespace.TestCode.SampleClasses。这样编写代码时会不方便,为了简化代码,可以考虑在代码文件的顶部加上一条using语句,例如:
using MyNamespace.TestCode.SampleClasses;
using后跟一个空格,接着就是要引入的命名空间的名字,以英文的分号结尾。假设上面的命名空间中有一个Work类,在程序代码中调用时,直接用Work就可以了,而不需要使用MyNamespace.TestCode.SampleClasses.Work这样冗长的代码。
图2-3 生成的using代码
比如在创建新项目时,在Visual Studio自动生成的代码文件中我们会看到如图2-3所示的代码,这几行代码引入了比较常用的几个命名空间。
前面说过,使用命名空间的目的是避免名称冲突,如果使用了using语句,假设A命名空间下有个T类,而B命名空间下又有个T类,然后在代码文件的前面用using语句导入了A、B两个命名空间,即
using A; using B;
这样一来,当在代码中使用T类时,也会造成名称冲突的问题,解决方法是在引入命名空间时为其分配一个别名,如
using na = A; using nb = B;
在代码中如果要用到命名空间A中的T类就输入na.T,若要使用命名空间B中的T类就输入nb.T,就不会有冲突了。
在引入命名空间之前,读者要考虑目标命名空间的来源,如果不是本项目的,则要先引用目标命名空间所在的程序集,然后再用using语句来引入,否则编译器无法找到目标类型,相关的内容会在本书后面讲述类库项目时进一步介绍。