private static DecoratorRegistration CreateDecorator(this IAspectConfiguration aspectConfiguration) { var reg = new DecoratorRegistration() { CanDecorate = s => CanDecorate(s, aspectConfiguration), ImplementingTypeFactory = CreateProxyType }; return(reg); }
private static DecoratorRegistration CreateDecorator(this IAspectValidator aspectValidator, IServiceFactory factory) { var registration = new DecoratorRegistration() { CanDecorate = s => CanDecorate(s, aspectValidator, factory), ImplementingTypeFactory = CreateProxyType }; return(registration); }
public void GetInstance_DeferredDecorator_ReturnsDecoratedInstance() { var container = CreateContainer(); container.Register <IFoo, Foo>(); var registration = new DecoratorRegistration(); registration.CanDecorate = serviceRegistration => true; registration.ImplementingTypeFactory = (factory, serviceRegistration) => typeof(FooDecorator); container.Decorate(registration); var instance = container.GetInstance <IFoo>(); Assert.IsInstanceOfType(instance, typeof(FooDecorator)); }
public void GetInstance_DeferredDecorator_ReturnsDecoratedInstance() { var container = CreateContainer(); container.Register <IFoo, Foo>(); var registration = new DecoratorRegistration { CanDecorate = serviceRegistration => true, ImplementingTypeFactory = (factory, serviceRegistration) => typeof(FooDecorator) }; container.Decorate(registration); var instance = container.GetInstance <IFoo>(); Assert.IsAssignableFrom <FooDecorator>(instance); }
public IServiceRegistry Decorate(DecoratorRegistration decoratorRegistration) { throw new NotImplementedException(); }
public void GetInstance_DeferredDecorator_ReturnsDecoratedInstance() { var container = CreateContainer(); container.Register<IFoo, Foo>(); var registration = new DecoratorRegistration(); registration.CanDecorate = serviceRegistration => true; registration.ImplementingTypeFactory = (factory, serviceRegistration) => typeof(FooDecorator); container.Decorate(registration); var instance = container.GetInstance<IFoo>(); Assert.IsInstanceOfType(instance, typeof(FooDecorator)); }
public void Decorate(DecoratorRegistration decoratorRegistration) { throw new NotImplementedException(); }