【问题标题】:How to reference another assembly file and call from it如何引用另一个程序集文件并从中调用
【发布时间】:2016-03-21 01:04:13
【问题描述】:

大家好,根据我的经验,Mono.Cecil 的文档很少见,我似乎无法在任何地方找到答案。我正在尝试修改我的 Unity3D 游戏的一个 DLL 并添加一个新类,然后将一个名为“Update”的方法注入该类。完成后,我想插入一条 IL 指令以从 unityEngine 调用 Input.GetKeyDown bool。但我似乎无法弄清楚如何实际引用它。当我尝试这样做时:

Instruction IL2 = method.Body.GetILProcessor().Create(OpCodes.Call,UnityEngine.Input.GetKeyDown);

我得到一个错误。任何帮助将不胜感激,因为我确信我不是唯一遇到此问题的人。

我的完整代码可以在http://pastebin.com/1dug0LmA查看

【问题讨论】:

  • 您遇到什么错误?另外,您能否在此处包含代码,而不是链接到它?
  • 难道你不能只是改变有问题的代码,添加一个新的类,用新的方法,重新编译并只使用 DLL 而不是弄乱 IL 吗?您需要这个的用例是什么?

标签: c# cil mono.cecil


【解决方案1】:

我找到了一种使用方法来做到这一点

asm.MainModule.Import((typeof(<type>).GetMethod("<Method Name>")));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    相关资源
    最近更新 更多