C# Класс BananaHook.ReflectionDetourNotifier.InterceptorFuncBuilder

Показать файл Открыть проект

Открытые методы

Метод Описание
CreateLambdaBody ( System.Linq.Expressions.ParameterExpression parameters, Type delegateType, MethodInfo mi ) : Delegate

(parameters) => { List<object> parameters = new List<object> { parameters }; OnDetourCalled(new DetourCallbackEventArgs(parameters)); return (T)_detour.Invoke(parameters); }

InterceptorFuncBuilder ( ReflectionDetourNotifier notifier ) : System

Приватные методы

Метод Описание
AddParametersToList ( IEnumerable parameterTypes ) : System.Linq.Expressions.ParameterExpression

List<object> parameters = new List<object> { ... };

CallOriginal ( MethodInfo mi, IEnumerable parameters, System.Linq.Expressions.ParameterExpression eventArgs ) : void

ret = _detour.Invoke(...);

CastToOriginalDelegateType ( Delegate ret, Type delegateType ) : Delegate

return (T)ret;

CompileLambda ( System.Linq.Expressions.ParameterExpression parameters ) : Delegate

(...) => { ... };

FireEvent ( Expression parameterListVariable ) : System.Linq.Expressions.ParameterExpression

OnDetourCalled(new DetourCallbackEventArgs(parameters));

HasNoReturnValue ( MethodInfo mi ) : bool

Описание методов

CreateLambdaBody() публичный Метод

(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
Результат System.Delegate

InterceptorFuncBuilder() публичный Метод

public InterceptorFuncBuilder ( ReflectionDetourNotifier notifier ) : System
notifier ReflectionDetourNotifier
Результат System