public IEnumerable<ContainerRegistration> PerformRegistrations(IUnityContainer target, IEnumerable<TypeMapping> typeMappings) { var changeTracker = new UnityRegistrationTracker(target); var extensionSetter = new PolicyExtensionSetter(target); foreach (var typeMapping in typeMappings) { mappingValidator.ValidateTypeMapping(typeMapping); var injectionMembers = injectionFactory.CreateInjectionMembers(typeMapping); var lifetimeManager = lifetimeFactory.CreateLifetimeManager(typeMapping); var registrationName = nameFactory.GetRegistrationName(typeMapping); target.RegisterType(typeMapping.From, typeMapping.To, registrationName, lifetimeManager, injectionMembers); extensionSetter.CheckIfInterceptionExtensionIsRequired(injectionMembers); } return changeTracker.GetNewRegistrations(); }
public IEnumerable <ContainerRegistration> PerformRegistrations(IUnityContainer target, IEnumerable <TypeMapping> typeMappings) { var changeTracker = new UnityRegistrationTracker(target); var extensionSetter = new PolicyExtensionSetter(target); foreach (var typeMapping in typeMappings) { mappingValidator.ValidateTypeMapping(typeMapping); var injectionMembers = injectionFactory.CreateInjectionMembers(typeMapping); var lifetimeManager = lifetimeFactory.CreateLifetimeManager(typeMapping); var registrationName = nameFactory.GetRegistrationName(typeMapping); target.RegisterType(typeMapping.From, typeMapping.To, registrationName, lifetimeManager, injectionMembers); extensionSetter.CheckIfInterceptionExtensionIsRequired(injectionMembers); } return(changeTracker.GetNewRegistrations()); }