zoukankan      html  css  js  c++  java
  • CLR类型将它们的程序集名/类型名对作唯一标识

    为了部署CLR模块,开发人员首先必须将其归属于一个程序集(Assembly)中。程序集就是一个或多个模块的逻辑组合。
    尽管程序集可能由多个模块组成,但是一个模块往往只属于一个程序集。假如出现两个程序集都引用同一个公共模块的情况,
    CLR将这个公共模块视为两个不同的模块,即公共模块中的每个类型都有两个不同的拷贝。
      在CLR中,程序集是部署的“原子”,被用来对CLR模块进行打包、加载、分发以及版本控制(物理的)。虽然程序集可能
    包括多个模块以及辅助文件,但程序集本身被作为原子单元进行命名和版本化的。

      程序集规定了组件中类型定义的作用域。CLR类型将它们的程序集名/类型名对作唯一标识。
      C#  VB.NET  意义
    类型  Public  Public  访问类型不受限制
    Internal  Friend  类型只在程序集内部可访问
    成员  Public  Public*  访问成员不受限制
    Internal  Friend  成员只在程序集内部可访问
    Protected  Protected  访问仅限于包含类或者包含类派生的子类型
    Protected internal  Protected friend  访问仅限于包含类以及包含类派生的子类型,或者当前程序集的其它类型。
    Private  Private  访问仅限于包含类型

    *在VB.NET中,通过关键字DIM声明的方法默认为public,而字段默认为private。

     

    程序集名字:
      每个程序集的都采用四部分(four-part)名字,作为唯一标识符。这四部分名字由名称、文化、开发人员以及组件版本构成。
    这些名字被存放于程序的清单中,以及引用它的所有程序集的程序集清单中。在加载时,CLR使用四部程序集名字找到正确的组件。

      程序集的命名约定通常是基于命名空间前缀的。例如,.NET XML被部署在System.Xml程序集中,它包含的所有类型都使用System.Xml的
    命名前缀。这仅仅是个约定,而不是规则。例如,类型System.Object存放在mscorlib的程序集中,而不是System的程序集中。
      程序集名字的Name属性往往与程序集清单的底层文件名(不包含任何文件扩展明,尽管它们可能有用)相对应。当构建(Build)程序集时,
    名字的这个部分是由编译器根据目标文件名自动选择的。
  • 相关阅读:
    第五周作业
    第四周作业
    第三周作业(两个题)
    第六周作业
    第五周作业
    第四周作业
    第三周作业
    第二周作业
    求最大值及其下标
    查找整数
  • 原文地址:https://www.cnblogs.com/chinatefl/p/131609.html
Copyright © 2011-2022 走看看