c# - 如何引用另一个程序集文件并从中调用

标签 c# cil mono.cecil

嘿伙计们,根据我的经验,Mono.Cecil 的文档很少见,我似乎无法在任何地方找到这个问题的答案。我正在尝试修改我的一个 Unity3D 游戏的 DLL 并添加一个新类,然后将一个名为“Update”的方法注入(inject)该类。完成后,我想插入一条 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>")));

关于c# - 如何引用另一个程序集文件并从中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36121627/

相关文章:

c# - 无法仅在 Windows Phone 上读取具有值的 json 数组

c# - 可以获取 C# Delegate 的 MSIL 吗?

c# - 使用 mono.cecil 添加自定义属性?

c# - 用 mono.cecil 或 postsharp 替换属性构造函数参数

c# - 为什么 Mono.Cecil 争论方法导入而我已经这样做了?

c# - 检测 32 位或 64 位

c# - 使用 JAVA 访问动态 AX 方法

c# - .NET DLL 是静态链接还是动态链接?

c# - C# 编译器的优化程度如何?

c# - 为什么编译器不能通过内联来优化闭包变量?