在MSDN中随便找到一个类,然后会显示:
命名空间:  System.IO
程序集:  mscorlib(在 mscorlib.dll 中)
下面这句话中,括号部分是不是多余的?
如果程序集是mscorlib,就会说在mscorlib.dll
如果是System.Windows.Forms,就会说在System.Windows.Forms.dll
这不是废话吗?
难道程序集是mscorlib,还会在mscorlib.exe或者System.Windows.Forms.dll中只要哪位能找出哪怕只有一个类,括号外面和里面的东西不是这种对应关系,我就认为不是多此一举,否则真是废话

解决方案 »

  1.   

    微软的基本上都是两个同名,但是你有空看看其他公司的第三方部分,很多都是不同名的。而且从理论上来说,出现(*.exe)也是允许的。
      

  2.   

    System命名空间会存在于mscorlib.dll,system.dll,System.Core.dll
    不觉得是废话!
      

  3.   

    6楼这个星级用户有点“水”
    理解能力
    我知道System命名空间可以存在于多个程序集,但也不用说两次啊命名空间:  System.IO 
    程序集:  mscorlib(在 mscorlib.dll 中)
    看清楚:程序集:  mscorlib==>告诉我们在mscorlib中(在 mscorlib.dll 中===>又一次告诉我们在mscorlib中)我想微软没这么无聊吧,应该有其他例外的情况吧           
      

  4.   

    我的理解是:
    命名空间是逻辑空间,程序集是物理存储空间.
    逻辑上相关的物理上不一定放一起的,同时mscorlib.dll 里也包含了很多命名空间的基础功能类.
    这是多对多的关系.相互包含的,你们觉得呢?