/// <summary> /// Builds the step. /// </summary> /// <returns>the built step</returns> public IStep Build() { var injectionMembers = InjectionMembers.Concat(GetAdditionalInjectionMembers()).ToArray(); Container.RegisterType(typeof(IStep), Type, Name, new ContainerControlledLifetimeManager(), injectionMembers); return(Container.Resolve <IStep>(Name)); }
public ExplicitRegistration(UnityContainer owner, string?name, Type?type, LifetimeManager lifetimeManager) : base(owner, name) { Next = null; Type = type; LifetimeManager = lifetimeManager; InjectionMembers = null; BuildRequired = null != InjectionMembers && InjectionMembers.Any(m => m.BuildRequired); }
public ImplicitRegistration(UnityContainer owner, string?name, ImplicitRegistration factory) : base(owner) { Name = name; BuildType = factory.BuildType; Next = factory.Next; LifetimeManager = factory.LifetimeManager?.CreateLifetimePolicy() ?? new TransientLifetimeManager(); InjectionMembers = factory.InjectionMembers; BuildRequired = null != InjectionMembers && InjectionMembers.Any(m => m.BuildRequired); }
public ExplicitRegistration(UnityContainer owner, string?name, Type?type, LifetimeManager lifetimeManager, params InjectionMember[] injectionMembers) : base(owner, name) { Type = type; LifetimeManager = lifetimeManager; Next = owner.Defaults; InjectionMembers = null != injectionMembers && 0 < injectionMembers.Length ? injectionMembers : null; BuildRequired = null != InjectionMembers && InjectionMembers.Any(m => m.BuildRequired) || lifetimeManager is PerResolveLifetimeManager; BuildType = GetTypeConverter(); }
public ExplicitRegistration(UnityContainer owner, string?name, Type?type, LifetimeManager lifetimeManager) : base(owner, name, lifetimeManager) { Next = null; Type = type; InjectionMembers = null; BuildRequired = null != InjectionMembers && InjectionMembers.Any(m => m.BuildRequired); if (lifetimeManager is ContainerControlledLifetimeManager manager) { manager.Scope = owner.Context; } }