public void Invoke(CallInfo callInfo) { try { object target = methodInfo.IsStatic ? null : generalGetterManager.GetSelf(callInfo.Self); object[] args = parameters.GetArguments(callInfo); if (this.extensionMethod) { args = new object[] { generalGetterManager.GetSelf(callInfo.Self) }.Concat(args).ToArray(); } object ret = methodInfo.Invoke(target, args); parameters.FillByRefParameters(callInfo); resultSetter(callInfo.Isolate, NativeValueApi.SetValueToResult, callInfo.Info, ret); } finally { parameters.ClearArguments(); } }
public void Invoke(CallInfo callInfo) { try { object target = methodInfo.IsStatic ? null : generalGetterManager.GetSelf(callInfo.Self); object ret = methodInfo.Invoke(target, parameters.GetArguments(callInfo)); parameters.FillByRefParameters(callInfo); resultSetter(callInfo.Isolate, NativeValueApi.SetValueToResult, callInfo.Info, ret); } finally { parameters.ClearArguments(); } }