public override void Register(Type concreteType, Type abstractType, DepedencyLifetime lifetime = DepedencyLifetime.PerDependency, string name = null) { switch (lifetime) { case DepedencyLifetime.PerDependency: if (string.IsNullOrWhiteSpace(name)) { _builder.RegisterType(concreteType).As(abstractType).InstancePerDependency(); } else { _builder.RegisterType(concreteType).Named(name, abstractType).As(abstractType).InstancePerDependency(); } break; case DepedencyLifetime.PerLifetime: if (string.IsNullOrWhiteSpace(name)) { _builder.RegisterType(concreteType).As(abstractType).InstancePerLifetimeScope(); } else { _builder.RegisterType(concreteType).Named(name, abstractType).As(abstractType).InstancePerLifetimeScope(); } break; default: throw new ArgumentOutOfRangeException(nameof(lifetime)); } }
public override void Register(Type concreteType, Type abstractType, DepedencyLifetime lifetime = DepedencyLifetime.PerDependency, string name = null) { switch (lifetime) { case DepedencyLifetime.PerLifetime: if (string.IsNullOrWhiteSpace(name)) { _container.RegisterType(abstractType, concreteType, new ContainerControlledLifetimeManager()); } else { _container.RegisterType(abstractType, concreteType, name, new ContainerControlledLifetimeManager()); } break; default: if (string.IsNullOrWhiteSpace(name)) { _container.RegisterType(abstractType, concreteType); } else { _container.RegisterType(abstractType, concreteType, name); } break; } }
public override void Register <ConcreteType, AbstractType>(DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) { switch (lifetime) { case DepedencyLifetime.PerLifetime: _container.RegisterType <ConcreteType>(new ContainerControlledLifetimeManager()); break; default: _container.RegisterType <AbstractType, ConcreteType>(); break; } }
public override void Register(Type concreteType, DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) { switch (lifetime) { case DepedencyLifetime.PerLifetime: _container.RegisterType(concreteType, new ContainerControlledLifetimeManager()); break; default: _container.RegisterType(concreteType); break; } }
public override void Register <AbstractType>(AbstractType instance, DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) { switch (lifetime) { case DepedencyLifetime.PerLifetime: _container.RegisterInstance(instance, new ContainerControlledLifetimeManager()); break; default: _container.RegisterInstance(instance); break; } }
public override void Register <TC, TA>(DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) { switch (lifetime) { case DepedencyLifetime.PerDependency: _builder.RegisterType <TC>().As <TA>().InstancePerDependency(); break; case DepedencyLifetime.PerLifetime: _builder.RegisterType <TC>().As <TA>().InstancePerLifetimeScope(); break; default: throw new ArgumentOutOfRangeException(nameof(lifetime)); } }
public override void Register <T>(T instance, DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) { switch (lifetime) { case DepedencyLifetime.PerDependency: _builder.RegisterInstance(instance).InstancePerDependency(); break; case DepedencyLifetime.PerLifetime: _builder.RegisterInstance(instance).SingleInstance(); break; default: throw new ArgumentOutOfRangeException(nameof(lifetime)); } }
public override void Register <ConcreteType, AbstractType>(DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) { switch (lifetime) { case DepedencyLifetime.PerDependency: _builder.RegisterType <ConcreteType>().As <AbstractType>().InstancePerDependency(); break; case DepedencyLifetime.PerLifetime: _builder.RegisterType <ConcreteType>().As <AbstractType>().InstancePerLifetimeScope(); break; default: throw new ArgumentOutOfRangeException("lifetime"); } }
/// <summary> /// Registers an instance /// </summary> /// <typeparam name="AbstractType">The interface type</typeparam> /// <param name="instance">The dependency instance</param> /// <param name="lifetime">The lifetime type</param> public abstract void Register <AbstractType>(AbstractType instance, DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) where AbstractType : class;
/// <summary> /// Registers a dependency /// </summary> /// <typeparam name="ConcreteType">The implemented type</typeparam> /// <param name="lifetime">The lifetime type</param> public abstract void Register <ConcreteType>(DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) where ConcreteType : class;
/// <summary> /// Register a dependency /// </summary> /// <param name="concreteType">The concrete type</param> /// <param name="lifetime">The lifetime type</param> public abstract void Register(Type concreteType, DepedencyLifetime lifetime = DepedencyLifetime.PerDependency);
/// <summary> /// Registers a dependency /// </summary> /// <param name="concreteType">The concrete type</param> /// <param name="abstractType">The interface type</param> /// <param name="lifetime">The lifetime type</param> /// <param name="name">The name for a named dependency</param> public abstract void Register(Type concreteType, Type abstractType, DepedencyLifetime lifetime = DepedencyLifetime.PerDependency, string name = null);
/// <summary> /// Registers an instance /// </summary> /// <typeparam name="T">The interface type</typeparam> /// <param name="instance">The dependency instance</param> /// <param name="lifetime">The lifetime type</param> public abstract void Register <T>(T instance, DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) where T : class;
/// <summary> /// Registers a dependency /// </summary> /// <typeparam name="TC">The implemented type</typeparam> /// <typeparam name="TA">The interface type</typeparam> /// <param name="lifetime">The lifetime type</param> public abstract void Register <TC, TA>(DepedencyLifetime lifetime = DepedencyLifetime.PerDependency) where TC : class, TA where TA : class;