public InstanceInterceptor Merge(InstanceInterceptor interceptor) { var interceptors = new InstanceInterceptor[_interceptors.Length + 1]; _interceptors.CopyTo(interceptors, 0); interceptors[interceptors.Length - 1] = interceptor; return new CompoundInterceptor(interceptors); }
public InstanceInterceptor Merge(InstanceInterceptor interceptor) { var interceptors = new InstanceInterceptor[_interceptors.Length + 1]; _interceptors.CopyTo(interceptors, 0); interceptors[interceptors.Length - 1] = interceptor; return(new CompoundInterceptor(interceptors)); }
/// <summary> /// Adds an Interceptor to only this PluginType /// </summary> /// <param name="interceptor"></param> /// <returns></returns> public CreatePluginFamilyExpression <PLUGINTYPE> InterceptWith(InstanceInterceptor interceptor) { _children.Add( graph => { var typeInterceptor = new PluginTypeInterceptor(typeof(PLUGINTYPE), (c, o) => interceptor.Process(o, c)); graph.InterceptorLibrary.AddInterceptor(typeInterceptor); }); return(this); }
/// <summary> /// Register an <see cref="InstanceInterceptor">InstanceInterceptor</see> with this Instance /// </summary> /// <param name="interceptor"></param> /// <returns></returns> public SmartInstance <T> InterceptWith(InstanceInterceptor interceptor) { Interceptor = interceptor; return(this); }
public CompoundInterceptor(InstanceInterceptor[] interceptors) { _interceptors = interceptors; }
/// <summary> /// Register an <see cref="InstanceInterceptor">InstanceInterceptor</see> with this Instance /// </summary> /// <param name="interceptor"></param> /// <returns></returns> public T InterceptWith(InstanceInterceptor interceptor) { Interceptor = interceptor; return(thisInstance); }
public InterceptionStep(InstanceInterceptor interceptor) { _interceptor = interceptor; }