我需要将IL转换为c#代码.我有一个集会,我正在阅读这个集会.我从MethodInfo获取MethodBody,方法体有一个方法GetILAsByteArraY(),它返回一个字节数组,现在我想将这个IL转换为C#代码.请帮我解决这个问题.
不要重新发明轮子; 使用Lutz Roeder的.NET Reflector.
购买了Lutz Roeder反射器,不再提供免费下载.
现在有一个名为ILSpy的免费(再次)工具.我发现它非常好,它不仅会从IL生成C#代码,而且还会.csproj
在反编译整个DLL程序集时创建一个项目.
重新发明轮子肯定是一种更好的学习方式!你将不得不创建自己的类,将iL转换为C#.这需要中级语言的知识.
我假设您已经将字节数组转换为IL指令,就像我们在ildasm.exe中看到的那样,使用Reflection.Emit.OpCodes,OpCode.OperandType,BitConvertor.ReadByte(),BitConvertor.ReadInt32等.