コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
 /// <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);
 }
コード例 #5
0
 public CompoundInterceptor(InstanceInterceptor[] interceptors)
 {
     _interceptors = interceptors;
 }
コード例 #6
0
 /// <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);
 }
コード例 #7
0
 public InterceptionStep(InstanceInterceptor interceptor)
 {
     _interceptor = interceptor;
 }