您的位置:首页 > 其它

读书笔记之 -->"命名空间"

2006-03-12 13:05 218 查看
C#程序中,每提及一个“名称”,编译器就要对这个“名称”进行“决议(resolve)”;简言之,就是要让

这个“名称”可见(visible);

举例说明一下:

Console.WriteLine("Hello ,EdgarSun!");

此时编译器将无法对Console这一名称进行“决议”;using指令提供了一种解决方法,如using System;

便是告诉编译器到System命名空间中查找无法决议的“名称”;另一种做法是明确(全饰名称full qualified

name)告诉编译器到何处寻找这个“名称”,System.Console.WriteLine("Hello,EdgarSun!");

举一个简单的命名空间的例子:

namespace N1

{

public class A{…} //N1.A

}

namespace N2

{

public class A{…} //N2.A

}

类A定义于各自的命名空间(namespace),现在类A对整个程序来说不再是可见的了。而如若我们在程序

中同时“开启”(曝光expose)两个命名空间,那么unqulified name A将会导致编译错误。此时必须使用

“全饰名称”,如N2.A a;

另外,N1和N2可以相同,编译器认为我们想在原先存在的命名空间中加入新声明(declare);

还有一种方法是使用别名(alias);

namespace N3

{

using N1;

using N2;

using A1 = N1.A;

using A2 = N2.A;

class B

{

A1 a1;

A2 a2;

}

}

再补充一点,别名(alias)仅在当前的命名空间中有效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐