Fix evaluate exception logic with methods that have arguments

This commit is contained in:
Sinai
2021-08-03 16:11:54 +10:00
parent df0abbc847
commit 48d1cf574d

View File

@ -30,15 +30,14 @@ namespace UnityExplorer.CacheObject
try try
{ {
var methodInfo = MethodInfo; var methodInfo = MethodInfo;
if (methodInfo.IsGenericMethod) if (methodInfo.IsGenericMethod)
methodInfo = MethodInfo.MakeGenericMethod(Evaluator.TryParseGenericArguments()); methodInfo = MethodInfo.MakeGenericMethod(Evaluator.TryParseGenericArguments());
if (Arguments.Length > 0) object ret;
return methodInfo.Invoke(DeclaringInstance, Evaluator.TryParseArguments()); if (HasArguments)
ret = methodInfo.Invoke(DeclaringInstance, Evaluator.TryParseArguments());
var ret = methodInfo.Invoke(DeclaringInstance, ArgumentUtility.EmptyArgs); else
ret = methodInfo.Invoke(DeclaringInstance, ArgumentUtility.EmptyArgs);
HadException = false; HadException = false;
LastException = null; LastException = null;
return ret; return ret;