Example #1
0
        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));
            }
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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;
            }
        }
Example #4
0
        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;
            }
        }
Example #5
0
        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;
            }
        }
Example #6
0
        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));
            }
        }
Example #7
0
        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));
            }
        }
Example #8
0
        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");
            }
        }
Example #9
0
 /// <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;
Example #10
0
 /// <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;
Example #11
0
 /// <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);
Example #12
0
 /// <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);
Example #13
0
 /// <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;
Example #14
0
 /// <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;