ability to patch private method: Merge pull request #36 from zhu-rengong/patch_private_method
ability to patch private method
This commit is contained in:
@@ -903,6 +903,7 @@ namespace Barotrauma
|
|||||||
__result = result.Object();
|
__result = result.Object();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private const BindingFlags DefaultBindingFlags = BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
|
||||||
private static MethodInfo _miHookLuaPatchPrefix = typeof(LuaHook).GetMethod("HookLuaPatchPrefix", BindingFlags.NonPublic | BindingFlags.Static);
|
private static MethodInfo _miHookLuaPatchPrefix = typeof(LuaHook).GetMethod("HookLuaPatchPrefix", BindingFlags.NonPublic | BindingFlags.Static);
|
||||||
private static MethodInfo _miHookLuaPatchRetPrefix = typeof(LuaHook).GetMethod("HookLuaPatchRetPrefix", BindingFlags.NonPublic | BindingFlags.Static);
|
private static MethodInfo _miHookLuaPatchRetPrefix = typeof(LuaHook).GetMethod("HookLuaPatchRetPrefix", BindingFlags.NonPublic | BindingFlags.Static);
|
||||||
private static MethodInfo _miHookLuaPatchPostfix = typeof(LuaHook).GetMethod("HookLuaPatchPostfix", BindingFlags.NonPublic | BindingFlags.Static);
|
private static MethodInfo _miHookLuaPatchPostfix = typeof(LuaHook).GetMethod("HookLuaPatchPostfix", BindingFlags.NonPublic | BindingFlags.Static);
|
||||||
@@ -921,11 +922,11 @@ namespace Barotrauma
|
|||||||
if (parameterNames.Length > 0)
|
if (parameterNames.Length > 0)
|
||||||
{
|
{
|
||||||
Type[] parameterTypes = parameterNames.Select(x => AccessTools.TypeByName(x)).ToArray();
|
Type[] parameterTypes = parameterNames.Select(x => AccessTools.TypeByName(x)).ToArray();
|
||||||
methodInfo = classType.GetMethod(methodName, parameterTypes);
|
methodInfo = classType.GetMethod(methodName, DefaultBindingFlags, null, parameterTypes, null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
methodInfo = classType.GetMethod(methodName);
|
methodInfo = classType.GetMethod(methodName, DefaultBindingFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (methodInfo == null)
|
if (methodInfo == null)
|
||||||
|
|||||||
Reference in New Issue
Block a user