C# Class BananaHook.ReflectionDetourNotifier.InterceptorFuncBuilder

Afficher le fichier Open project: sgraf812/BananaHook

Méthodes publiques

Méthode Description
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

Private Methods

Méthode Description
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

Method Details

CreateLambdaBody() public méthode

(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
Résultat System.Delegate

InterceptorFuncBuilder() public méthode

public InterceptorFuncBuilder ( ReflectionDetourNotifier notifier ) : System
notifier ReflectionDetourNotifier
Résultat System