• 4.3 命名空间和程序集


    • 命名空间对相关的类型进行逻辑分组。
    • 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命名空间下的方法。
  • 相关阅读:
    典型格雷码-数学规律
    合并两个有序数组
    从fragment跳转到Activity
    fragment如何findviewby
    布局和位置
    preferencefragment
    AndroidStudio导入support-v13
    一些属性作用
    菜单menu
    ActionBar
  • 原文地址:https://www.cnblogs.com/chiguozi/p/7029576.html
Copyright © 2020-2023  润新知