public void Register(string assembly, Type interfaceType, LifetimeManagerEnum lifetimeManager) { _current.RegisterTypes( AllClasses.FromAssemblies(Assembly.Load(assembly)).Where(t => t.ImplementsInterface(interfaceType)), WithMappings.FromAllInterfaces, WithName.Default, x => SetLifeTimeManager(lifetimeManager) ); }
private LifetimeManager SetLifeTimeManager(LifetimeManagerEnum liveTimeManager) { switch (liveTimeManager) { case LifetimeManagerEnum.ContainerControlled: return(new ContainerControlledLifetimeManager()); case LifetimeManagerEnum.PerResolve: return(new PerResolveLifetimeManager()); case LifetimeManagerEnum.PerThread: return(new PerThreadLifetimeManager()); case LifetimeManagerEnum.Transient: return(new TransientLifetimeManager()); default: return(new TransientLifetimeManager()); } }
public void RegisterType <T>(LifetimeManagerEnum lifetimeManager) { _current.RegisterType <T>(SetLifeTimeManager(lifetimeManager)); }
public void RegisterType(Type abstractType, Type concreteType, LifetimeManagerEnum lifetimeManager) { _current.RegisterType(abstractType, concreteType, SetLifeTimeManager(lifetimeManager)); }
public void Register <TAbstract, TConcrete>(LifetimeManagerEnum lifetimeManager) where TConcrete : TAbstract { _current.RegisterType <TAbstract, TConcrete>(SetLifeTimeManager(lifetimeManager)); }