60、深入理解 CIL 与动态程序集的角色

深入理解 CIL 与动态程序集的角色

1. 理解 CIL 指令和属性

在了解了如何使用 ildasm.exe ilasm.exe 进行往返操作后,我们可以深入研究 CIL 本身的语法和语义了。接下来,我们将逐步创建一个包含一组类型的自定义命名空间。为了简化,这些类型暂时不包含成员的实现逻辑。在掌握创建空类型的方法后,我们再使用 CIL 操作码定义“真实”的成员。

2. 在 CIL 中指定外部引用程序集

首先,使用你喜欢的编辑器创建一个名为 CILTypes.il 的新文件。CIL 项目的首要任务是列出当前程序集使用的外部程序集。在本示例中,我们仅使用 mscorlib.dll 中的类型。为此,使用 external 属性限定 .assembly 指令。当引用强命名程序集(如 mscorlib.dll )时,还需指定 .publickeytoken .ver 指令,示例如下:

.assembly extern mscorlib
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
  .ver 4:0:0:0
}

注意 :严格来说,不需要显式将 mscorlib.dll

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值