首页 > 其他 > 详细

4.3 命名空间和程序集

时间:2017-06-16 23:49:59      阅读:442      评论:0      收藏:0      [点我收藏+]
  • 命名空间对相关的类型进行逻辑分组。
  • C# using 指令指示编译器尝试为类型名称附加不同的前缀,直至找到匹配项。
  • CLR 对命名空间一无所知。访问类型时,CLR需要知道类型的完整名称以及类型定义在哪个具体的程序集中。
  • 编译器扫描引用的所有程序集,查找类型定义。如果找到,程序集信息和类型信息就嵌入生成的托管模块元数据中。
  • MSCorLib.dll 程序集包含了所有核心 Framework 类库(FCL)的定义。(如 Object, Int32, String 等)
  • 潜在问题:多个类型在不同命名空间重名。需要开发人员确保唯一性。
  • C# using指令允许为类型或命名空间创建别名。
    技术分享
  • C# 编译器提供外部别名(extern alias)功能。
  • CLR 编译器在类型定义元数据表中添加的实际类型名称。
    技术分享技术分享

    • 命名空间和程序集不一定相关:同一命名空间的类型可能在不同程序集中;同一程序集也可能包含不同命名空间。

    • 在MSDN中可以看到程序集以及命名空间
      技术分享



  • using 指令的范围限制为包含它的文件。
  • 创建 using 别名,以便更易于将标识符限定到命名空间或类型。 using 别名指令的右侧必须始终是一个完全限定类型,而与前面的 using 指令无关。
  • 创建 using 指令,以便在命名空间中使用类型而不必指定命名空间。 using 指令不为您提供对嵌套在指定命名空间中的任何命名空间的访问。
    using System.Text 并不能访问到System命名空间下的方法。

4.3 命名空间和程序集

原文:http://www.cnblogs.com/chiguozi/p/7029576.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!