Пример #1
0
        private static LifetimeManager GetLifeTimeManager(TypeLifeTime typeLifeTime)
        {
            switch (typeLifeTime)
            {
            case TypeLifeTime.ContainerControlled:
            {
                return(new ContainerControlledLifetimeManager());
            }

            case TypeLifeTime.ExternallyControlled:
            {
                return(new ExternallyControlledLifetimeManager());
            }

            case TypeLifeTime.Hierarchical:
            {
                return(new HierarchicalLifetimeManager());
            }

            case TypeLifeTime.PerResolve:
            {
                return(new PerResolveLifetimeManager());
            }

            case TypeLifeTime.PerThread:
            {
                return(new PerThreadLifetimeManager());
            }

            case TypeLifeTime.Transient:
            {
                return(new TransientLifetimeManager());
            }

            default:
            {
                throw new LifetimeManagerNotSupportedException(typeLifeTime);
            }
            }
        }
 public LifetimeManagerNotSupportedException(TypeLifeTime typeLifeTime)
     : base($"No life time manager exists for the specified typeLifeTime: {typeLifeTime}")
 {
 }
Пример #3
0
 public DIPair(Type implementedInterfaceType, Type concreteType, TypeLifeTime lifeTime)
 {
     ImplementedInterfaceType = implementedInterfaceType;
     ConcreteType             = concreteType;
     lifeTime = LifeTime;
 }