// Protected implementation of Dispose pattern.
        protected override void Dispose(bool disposing)
        {
            if (disposed)
                return;

            if (disposing)
            {

            }

            if (filter != null)
            {
                filter.Dispose();
                filter = null;
            }
            if (delegatingFilter != null)
            {
                delegatingFilter.Dispose();
                delegatingFilter = null;
            }
            if (effect != null)
            {
                effect.Dispose();
                effect = null;
            }

            disposed = true;
            // Call base class implementation.
            base.Dispose(disposing);
        }
        public RecipeCPPFilter(IImageProvider source, double factor)
            : base(source)
        {
            filter = new CPP.MyFilter(factor);
            delegatingFilter = new DelegatingFilter(filter);

            effect = new FilterEffect(source);
            effect.Filters = new IFilter[] { delegatingFilter };

             SetPipelineBeginEnd(effect, effect);
        }
Beispiel #3
0
        public void Filter_gets_open_generic_handlers_when_generic_service_requested()
        {
            Container.Register(Component.For <IGeneric <A> >().ImplementedBy <GenericImpl1 <A> >(),
                               Component.For(typeof(GenericImpl2 <>)));
            var filter = new DelegatingFilter(typeof(IGeneric <A>));

            Kernel.AddHandlersFilter(filter);

            Container.ResolveAll <IGeneric <A> >();

            Assert.AreEqual(2, filter.HandlersAsked.Length);
        }
		public void Filter_gets_open_generic_handlers_when_generic_service_requested()
		{
			Container.Register(Component.For<IGeneric<A>>().ImplementedBy<GenericImpl1<A>>(),
			                   Component.For(typeof(GenericImpl2<>)));
			var filter = new DelegatingFilter(typeof(IGeneric<A>));
			Kernel.AddHandlersFilter(filter);

			Container.ResolveAll<IGeneric<A>>();

			Assert.AreEqual(2, filter.HandlersAsked.Length);
		}