.NET外挂系列:4. harmony 中补丁参数的有趣玩法(上) - 一线码农
💡
原文中文,约4500字,阅读约需11分钟。
📝
内容提要
本文介绍了Harmony注入点的几种参数及其应用,如__instance、__result和__state等。通过示例代码,展示了如何利用这些参数进行线程管理和执行时间测量,从而加深对Harmony的理解与应用。
🎯
关键要点
- 本文介绍了Harmony注入点的几种参数及其应用。
- __instance参数用于访问非静态方法的实例,类似于this。
- __result参数用于获取或修改返回值,修改时需使用ref。
- __state参数用于在前缀和后缀间传递自定义数据。
- 通过__instance参数,可以将新线程设置为后台线程,避免阻塞程序退出。
- 使用__state参数可以在Prefix和Postfix之间传递临时变量,简化代码。
- __originalMethod参数用于获取当前patch所对应的原方法,帮助识别和过滤。
- 灵活运用这些参数可以提高对Harmony的理解与应用,解决.NET程序中的问题。
❓
延伸问答
Harmony中的__instance参数有什么作用?
__instance参数用于访问非静态方法的实例,类似于this,可以用来将新线程设置为后台线程,避免阻塞程序退出。
__result参数如何使用?
__result参数用于获取或修改方法的返回值,若要修改返回值,需要使用ref关键字。
__state参数在Harmony中有什么用途?
__state参数用于在前缀和后缀之间传递自定义数据,可以简化代码并传递临时变量。
如何使用Harmony测量线程的执行时间?
可以在Prefix中启动Stopwatch并在Postfix中停止它,通过__state参数传递Stopwatch实例来记录执行时间。
如何获取当前patch对应的原方法?
可以使用__originalMethod参数获取当前patch所对应的原方法,帮助识别和过滤。
使用Harmony时如何避免线程阻塞?
通过将__instance参数设置为后台线程,可以避免新线程阻塞程序的退出。
➡️