该方法MethodBody.GetILAsByteArray();以字节表示形式返回 IL 代码,这一点很清楚。但是,我在这个方法的操作描述中没有找到细节MSDN:它是返回我描述的“逐字”指令,还是这个函数完全返回将要执行的指令?
让我解释:
- 在调试模式下,编译器不会以任何方式优化代码,因此
可执行指令与
程序员自己描述的相同。 - 在发布模式下,编译器内联、弃用并通常
更改许多内容,因此最终的可执行指令可能
与最初描述的内容大不相同。
它是否会以任何方式影响GetILAsByteArray()编译模式,或者此方法是否总是返回“逐字”方法语句?
