/// <summary> /// Apply the registrations from this element to the given container. /// </summary> /// <param name="container">Container to configure.</param> protected override void ConfigureContainer(IUnityContainer container) { Type registeringType = GetRegisteringType(); Type mappedType = GetMappedType(); LifetimeManager lifetime = Lifetime.CreateLifetimeManager(); IEnumerable <InjectionMember> injectionMembers = InjectionMembers.SelectMany(m => m.GetInjectionMembers(container, registeringType, mappedType, Name)); container.RegisterType(registeringType, mappedType, Name, lifetime, injectionMembers.ToArray()); }
internal void Configure(IUnityContainer container, PolicyDefinition policyDefinition) { if (string.IsNullOrEmpty(this.TypeName)) { policyDefinition.AddCallHandler(this.Name); } else { Type handlerType = TypeResolver.ResolveType(TypeName); IEnumerable <InjectionMember> injectionMembers = Injection.SelectMany( element => element.GetInjectionMembers(container, typeof(ICallHandler), handlerType, Name)); policyDefinition.AddCallHandler(handlerType, Lifetime.CreateLifetimeManager(), injectionMembers.ToArray()); } }
internal void Configure(IUnityContainer container, PolicyDefinition policyDefinition) { if (string.IsNullOrEmpty(TypeName)) { policyDefinition.AddMatchingRule(Name); } else { Type matchingRuleType = TypeResolver.ResolveType(TypeName); LifetimeManager lifetime = Lifetime.CreateLifetimeManager(); IEnumerable <InjectionMember> injectionMembers = Injection.SelectMany( element => element.GetInjectionMembers(container, typeof(IMatchingRule), matchingRuleType, Name)); policyDefinition.AddMatchingRule(matchingRuleType, lifetime, injectionMembers.ToArray()); } }
public void Configure(IUnityContainer container) { Guard.ArgumentNotNull(container, "container"); LifetimeManager lifetimeManager = null; if (Lifetime != null) { lifetimeManager = Lifetime.CreateLifetimeManager(); } container.RegisterType(Type, MapTo, Name, lifetimeManager); foreach (UnityContainerTypeConfigurationElement typeConfigElement in this.TypeConfig) { typeConfigElement.ParentElement = this; typeConfigElement.Configure(container); } }