C#码农笔记:从第一行代码到项目实战
上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语句来引入,否则编译器无法找到目标类型,相关的内容会在本书后面讲述类库项目时进一步介绍。