可能是转储问题,因为我不熟悉DynamicMethod,所以请指导我。
我有在二进制文件中序列化的C#方法存储。以这种方式存储数据。
Token: 6000196 // Meta Token
Flags: 2
MaxStack: 8
LocalVarsSig: null
Code: 00 02 72 ED 0C 00 70 28 72 00 00 06 73 98 01 00 06 28 81 01 00 06 00 02 72 3F 0D 00 70 28 72 00 00 06 73 9F 01 00 06 28 83 01 00 06 00 2A
TokenPosArray: 3 8 D 12 19 1E 23 28
Exceptions: null
我正在使用DynamicILInfo从此信息生成DynamicMethod。我想知道如何从这种IL方法编解码器信息中获得人类可读的C#代码?
[编辑]
好,所以我能够从此信息中构造DynamicMethod并使用https://github.com/drewnoakes/il-visualizer所示的ILVisulizer获得IL代码
在发送IL进行监视时,我得到以下与此相似的指令代码
IL_0000: nop
IL_0001: nop
IL_0002: ldstr "SampleString"
IL_0007: call System.String smethod_4(System.String)/GClass3+GClass6
IL_000c: newobj Void.ctor(System.String)
IL_0011: stloc.0
IL_0012: ldloc.0
IL_0013: callvirt Boolean get_FirstInstance()
IL_0018: stloc.3
IL_0019: ldloc.3
IL_001a: brtrue.s IL_0033
IL_001c: nop
现在想知道如何使用编程将该代码反编译为c#吗?