深入理解CIL与动态程序集的作用
1. 理解往返工程
CIL(Common Intermediate Language)支持使用双斜杠语法(以及 /*...*/ 语法)添加代码注释,和C#一样,CIL编译器会完全忽略这些注释。现在我们来看看CIL编程的实际应用,从往返工程开始。
往返工程是指使用 ildasm.exe 查看C#编译器生成的CIL代码,还能将加载到 ildasm.exe 中的程序集里的CIL代码导出到外部文件。有了CIL代码后,就可以使用 ilasm.exe 编辑和重新编译代码库。另外, reflector.exe 也可用于查看给定程序集的CIL代码,并将其转换为近似的C#代码。
往返工程在以下几种情况下很有用:
- 需要修改没有源代码的程序集。
- 使用不太完善的.NET语言编译器,生成了低效或错误的CIL代码,需要修改代码库。
- 构建COM互操作程序集,需要处理转换过程中丢失的COM IDL属性(如COM [helpstring]属性)。
下面通过一个例子来说明往返工程的过程:
1. 创建C#代码文件 :使用文本编辑器创建一个新的C#代码文件 HelloProgram.cs ,定义如下类:
// A simple C# console app.
using System;
// Note that we
超级会员免费看
订阅专栏 解锁全文
37

被折叠的 条评论
为什么被折叠?



