From 48d1cf574d802c8f1cd2fc6832fd9b76f86dab41 Mon Sep 17 00:00:00 2001 From: Sinai <49360850+sinai-dev@users.noreply.github.com> Date: Tue, 3 Aug 2021 16:11:54 +1000 Subject: [PATCH] Fix evaluate exception logic with methods that have arguments --- src/CacheObject/CacheMethod.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/CacheObject/CacheMethod.cs b/src/CacheObject/CacheMethod.cs index 0b5a55e..36556cb 100644 --- a/src/CacheObject/CacheMethod.cs +++ b/src/CacheObject/CacheMethod.cs @@ -30,15 +30,14 @@ namespace UnityExplorer.CacheObject try { var methodInfo = MethodInfo; - if (methodInfo.IsGenericMethod) methodInfo = MethodInfo.MakeGenericMethod(Evaluator.TryParseGenericArguments()); - if (Arguments.Length > 0) - return methodInfo.Invoke(DeclaringInstance, Evaluator.TryParseArguments()); - - var ret = methodInfo.Invoke(DeclaringInstance, ArgumentUtility.EmptyArgs); - + object ret; + if (HasArguments) + ret = methodInfo.Invoke(DeclaringInstance, Evaluator.TryParseArguments()); + else + ret = methodInfo.Invoke(DeclaringInstance, ArgumentUtility.EmptyArgs); HadException = false; LastException = null; return ret;