摘要:
>类型都是从System.Object派生 (大道至简)任何一个类型,都是Object类的N级子类。Object的“类型对象指针”是指向自身的,也就宣告了此处是构造器链的终点。每一次用New去调用构造器初始化对象时,Object构造器都会在构造器链顶端被第一个执行。最终才会调用发起New操作的类型的构造器。>类型转换 (简单的事,可以转换成复杂的。复杂的事也可以转成简单的。但复杂的不能转成复杂的。所以大道至简。)Object有个GetType公共方法。也就是说任何一个对象都是可以获得确切类型的。这就是所谓的“强类型”吧。在C#中用is 和as进行类型转换is构成的表达式会返回一个布 阅读全文
随笔档案-2013年03月
一线开发读CLR --- 第三章:共享程序集和强命名程序集
2013-03-03 13:58 by 秋日愚夫, 243 阅读, 收藏,
摘要:
本章内容,并非我现在的工作内容所频繁使用的。特别是共享程序集相关内容,目前和以后都可能用的不多。其中对“运行时”解析类型引用,知识点重点了解了一下。强命名程序集是为了对程序集进行共享为目的,而提出的。着眼于以后的分布式开发。作者想通过一个 “运行时”解析类型引用 的例子,说明CLR如果通过AssemblyRef这个记录项,获取强命名程序集信息,加载程序集的。例如: “mscorlib, Version=4.0.0.0 Culture=neutral, PublicKeyToken=b77a5c561943s0d9”虽然暂时用不着 共享程序集 ,但对于 这个例子描述的方法执行流程,还是应该好好学 阅读全文
一线开发读CLR --- 第二章:生成打包程序集及中间语言IL的初步了解
2013-03-03 12:31 by 秋日愚夫, 301 阅读, 收藏,
摘要:
本章印象最深的两个知识点:一,程序集的构成图径;二,程序集元数据包含的信息;还有一点关于此知识点应用的联想。程序集的构成:我们先看一下,程序集是如何由一个个文件构成的。如下图:第一步,由CSC.exe(C#编译器)将若干个 CS文件 编译成模块文件。编译成的模块文件可直接用.netModule扩展名文件表示。也可以用只含有一个模块的程序集文件(扩展名 dll)表示.第二步,将获得的模块文件 与 若干个 资源文件 一同打包成 程序集文件。对元数据的初步了解:元数据包含于程序集及模块文件中。元数据由几个表构成。分为三个类别:定义表,引用表,清单表定义表:可以查看程序集中类及方法,字段,属性的定义信 阅读全文
浙公网安备 33010602011771号