BananaHook.ReflectionDetourNotifier.InterceptorFuncBuilder.CreateLambdaBody C# (CSharp) Method

CreateLambdaBody() public method

(parameters) => { List<object> parameters = new List<object> { parameters }; OnDetourCalled(new DetourCallbackEventArgs(parameters)); return (T)_detour.Invoke(parameters); }
public CreateLambdaBody ( System.Linq.Expressions.ParameterExpression parameters, Type delegateType, MethodInfo mi ) : Delegate
parameters System.Linq.Expressions.ParameterExpression
delegateType System.Type
mi System.Reflection.MethodInfo
return System.Delegate
            public Delegate CreateLambdaBody(ParameterExpression[] parameters, Type delegateType, MethodInfo mi)
            {
                _body.Clear();
                ParameterExpression parameterListVariable = AddParametersToList(parameters);
                ParameterExpression eventArgsVariable = FireEvent(parameterListVariable);
                CallOriginal(mi, parameters, eventArgsVariable);
                Delegate lambda = CompileLambda(parameters, parameterListVariable, eventArgsVariable);
                return CastToOriginalDelegateType(lambda, delegateType);
            }