Ejemplo n.º 1
0
        private IPolicySet CreateRegistration(Type type, string name, InternalRegistration factory)
        {
            var registration = new InternalRegistration(type, name);

            if (null != factory)
            {
                registration.InjectionMembers = factory.InjectionMembers;
                registration.Map = factory.Map;
                var lifetime = factory.Get(typeof(LifetimeManager));
                if (lifetime is IFactoryLifetimeManager ManagerFactory)
                {
                    var manager = ManagerFactory.CreateLifetimePolicy();
                    registration.Set(typeof(LifetimeManager), manager);
                }
            }

            registration.BuildChain = GetBuilders(type, registration);
            return(registration);
        }