【发布时间】:2013-07-03 14:01:32
【问题描述】:
我正在尝试生成动态方法。假设我在堆栈中有布尔值arg。我想调用一个接受int 类型参数的方法,该方法将通过简单的规则arg ? 1 : 0 从bool 值转换。对于一些示例代码,生成的 IL 代码如下:
//bool value is already pushed into stack
IL_003d: brtrue.s IL_0042
IL_003f: ldc.i4.0
IL_0040: br.s IL_0043
IL_0042: ldc.i4.1
IL_0043: callvirt --methodName--
当发出 OpCodes.Brtrue_S 和 OpCodes.Br_S 时,如何正确识别要跳转到的偏移量?
【问题讨论】:
标签: c# il ilgenerator