}
namespace N2
{
public class BC3 {…}
public class BC4{…}
}
这两个装配件中都有 $ 和 % 两个命名空间,而且各声明了两个类,这样是完全可以的,然后我们
在一个应用程序中引用装配件 ,那么在这个应用程序中,我们能看到 $ 下面的类为 $ 和 %,%
下面的类为 & 和 '。
接着我们去掉对 的引用,加上对 # 的引用,那么我们在这个应用程序下能看到的 $ 下面的类变成
了 #$ 和 #%,% 下面也一样。
如果我们同时引用这两个装配件,那么 $ 下面我们就能看到四个类:$、%、#$ 和 #%。
到这里,我们可以清楚一个概念了,命名空间只是说明一个类型是那个族的,比如有人是汉族、有人
是回族;而装配件表明一个类型住在哪里,比如有人住在北京、有人住在上海;那么北京有汉族人,也
有回族人,上海有汉族人,也有回族人,这是不矛盾的。
上面我们说了,装配件是一个类型居住的地方,那么在一个程序中要使用一个类,就必须告诉编译器
这个类住在哪儿,编译器才能找到它,也就是说必须引用该装配件。
那么如果在编写程序的时候,也许不确定这个类在哪里,仅仅只是知道它的名称,就不能使用了吗?
答案是可以,这就是反射了,就是在程序运行的时候提供该类型的地址,而去找到它。
来个小例子吧:
$
(
))*+,
-*./01234+2 523622
7898$2:223+2:"0;
))<.
=>%-<;