当前位置:  开发笔记 > 编程语言 > 正文

将IL转换为C#代码

如何解决《将IL转换为C#代码》经验,为你挑选了3个好方法。

我需要将IL转换为c#代码.我有一个集会,我正在阅读这个集会.我从MethodInfo获取MethodBody,方法体有一个方法GetILAsByteArraY(),它返回一个字节数组,现在我想将这个IL转换为C#代码.请帮我解决这个问题.



1> jason..:

不要重新发明轮子; 使用Lutz Roeder的.NET Reflector.


我认为很明显他正试图创建另一个类似于.NET Reflector的轮子,他想知道它是如何制作的.Lutz不一定是世界上唯一知道如何制作它的人.
它不再是Lutz了.

2> DuckMaestro..:

购买了Lutz Roeder反射器,不再提供免费下载.

现在有一个名为ILSpy的免费(再次)工具.我发现它非常好,它不仅会从IL生成C#代码,而且还会.csproj在反编译整个DLL程序集时创建一个项目.



3> Javed S..:

重新发明轮子肯定是一种更好的学习方式!你将不得不创建自己的类,将iL转换为C#.这需要中级语言的知识.

我假设您已经将字节数组转换为IL指令,就像我们在ildasm.exe中看到的那样,使用Reflection.Emit.OpCodes,OpCode.OperandType,BitConvertor.ReadByte(),BitConvertor.ReadInt32等.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有