将C#代码转换为IL代码
本文关键字:代码 IL 转换 | 更新日期: 2023-09-27 18:01:12
如何获取C#代码的IL代码?我可以使用外部库或存在内部函数来完成此操作吗
编辑:我想用MessageBox在我的应用程序中显示IL代码。
编程?您可以使用反射来获取MethodInfo
,然后调用MethodBase.GetMethodBody
来获取主体。从MethodBody
,您可以调用GetILAsByteArray
等。
当然,如果你只是想自己检查一下,这里有Reflector、dotPeek、ildasm(.NET SDK的一部分(,毫无疑问还有其他工具。。。
像这样使用IL拆卸器:
c:'il>csc Class.cs
c:'il>ildasm /output=Class.il Class.exe
你们两个都有IL&exe。
只需打开Visual Studio命令提示符并键入ildasm-使用ildasm,您可以打开任何程序集并显示生成的IL。
看看LinqPad,它有查看IL的选项。
OR,
Start -> Programs -> Microsoft .NET Framework SDK (Version) -> Tools -> MSIL Disassembler
这是一个很老的问题,但我想增加一些准确性。
GetMethodBody()
最多会给你一个字节数组,你需要手动解析它(这可能很痛苦,因为有些操作码有两个字节(来获得人类可读的文本。
我只想提到ILSpy作为一种替代解决方案。
它是开源的,这意味着您可以对其进行调试并在解决方案中与之集成。