嘿伙计们,所以根据我的经验,Mono.Cecil 的文档是半罕见的,我似乎在任何地方都找不到答案。我正在尝试修改我的一个 Unity3D 游戏的 DLL 并添加一个新类,然后将一个名为"更新"的方法注入该类。完成后,我想插入一个 IL 指令来从 unityEngine 调用 Input.GetKeyDown bool。但我似乎无法弄清楚如何实际引用它。当我尝试这样做时:
Instruction IL2 = method.Body.GetILProcessor().Create(OpCodes.Call,UnityEngine.Input.GetKeyDown);
我得到一个错误。任何帮助将不胜感激,因为我相信我不是唯一一个遇到这个问题的人。
我拥有的完整代码可以在 http://pastebin.com/1dug0LmA 查看
我找到了一种方法来做到这一点
asm.MainModule.Import((typeof(<type>).GetMethod("<Method Name>")));