public IInvocation Create( ITargetInvocation targetInvocation, MethodInfo decoratedMethod, object[] arguments, IDynamicInterceptor[] interceptors) { return new Invocation(targetInvocation, decoratedMethod, arguments, interceptors); }
public Invocation(ITargetInvocation targetInvocation, MethodInfo decoratedMethod, object[] arguments, IDynamicInterceptor[] interceptors) { this.targetInvocation = targetInvocation; this.decoratedMethod = decoratedMethod; this.arguments = arguments; this.interceptors = interceptors; this.parameterTypes = new Lazy<Type[]>(() => this.decoratedMethod.GetParameters().Select(x => x.ParameterType).ToArray()); this.genericArguments = new Lazy<Type[]>(() => this.decoratedMethod.GetGenericArguments()); }
public ConstantInterceptorContainer(IDynamicInterceptor instance) { this.instance = instance; }
public void AddInterceptor(IDynamicInterceptor interceptorInstance) { this.interceptors.Add(new ConstantInterceptorContainer(interceptorInstance)); }
public Intercept(IDynamicInterceptor interceptor) { Guard.ArgumentNotNull(interceptor, "interceptor"); this.interceptorContainer = new ConstantInterceptorContainer(interceptor); }
public ConstantInterceptorContainer(int order, IDynamicInterceptor interceptor) { this.interceptor = interceptor; this.Order = order; }