internal StashboxContainer(IStashboxContainer parentContainer, IContainerExtensionManager containerExtensionManager, IResolverSelector resolverSelector, IContainerConfigurator containerConfigurator, IDecoratorRepository decoratorRepository) : this(containerExtensionManager, resolverSelector, containerConfigurator, decoratorRepository) { this.ParentContainer = parentContainer; this.containerExtensionManager.ReinitalizeExtensions(this.ContainerContext); }
internal ServiceRegistrator(IContainerContext containerContext, IContainerExtensionManager containerExtensionManager, IObjectBuilderSelector objectBuilderSelector) { this.containerContext = containerContext; this.containerExtensionManager = containerExtensionManager; this.objectBuilderSelector = objectBuilderSelector; }
public BuildUpObjectBuilder(object instance, IContainerContext containerContext, IContainerExtensionManager containerExtensionManager, IObjectExtender objectExtender) { this.instance = instance; this.instanceType = instance.GetType(); this.containerExtensionManager = containerExtensionManager; this.objectExtender = objectExtender; this.containerContext = containerContext; }
public DefaultObjectBuilder(IContainerContext containerContext, IMetaInfoProvider metaInfoProvider, IContainerExtensionManager containerExtensionManager, string registrationName, InjectionParameter[] injectionParameters = null) { if (injectionParameters != null) this.injectionParameters = injectionParameters; this.instanceType = metaInfoProvider.TypeTo; this.containerExtensionManager = containerExtensionManager; this.registrationName = registrationName; this.metaInfoProvider = metaInfoProvider; this.containerContext = containerContext; }
internal StashboxContainer(IStashboxContainer parentContainer, IContainerExtensionManager containerExtensionManager, IResolverSelector resolverSelector) { this.disposed = new AtomicBool(); this.ParentContainer = parentContainer; this.containerExtensionManager = containerExtensionManager; this.resolverSelector = resolverSelector; this.registrationRepository = new RegistrationRepository(); this.ContainerContext = new ContainerContext(this.registrationRepository, new DelegateRepository(), this, new ResolutionStrategy(this.resolverSelector), parentContainer.ContainerContext.ContainerConfigurator, parentContainer.ContainerContext.DecoratorRepository); this.activationContext = new Resolution.ActivationContext(this.ContainerContext, this.resolverSelector, this); this.containerExtensionManager.ReinitalizeExtensions(this.ContainerContext); this.expressionBuilder = new ExpressionBuilder(this.ContainerContext, this.containerExtensionManager); this.objectBuilderSelector = new ObjectBuilderSelector(this.ContainerContext, this.expressionBuilder); this.ServiceRegistrator = new ServiceRegistrator(this.ContainerContext, this.containerExtensionManager, this.objectBuilderSelector); }
/// <summary> /// Constructs a <see cref="StashboxContainer"/> /// </summary> public StashboxContainer(Action <IContainerConfigurator> config = null) { this.disposed = new AtomicBool(); this.containerExtensionManager = new BuildExtensionManager(); this.resolverSelector = new ResolverSelector(); var configurator = new ContainerConfigurator(); config?.Invoke(configurator); this.registrationRepository = new RegistrationRepository(); this.ContainerContext = new ContainerContext(this.registrationRepository, new DelegateRepository(), this, new ResolutionStrategy(this.resolverSelector), configurator, new DecoratorRepository()); this.activationContext = new Resolution.ActivationContext(this.ContainerContext, this.resolverSelector, this); this.expressionBuilder = new ExpressionBuilder(this.ContainerContext, this.containerExtensionManager); this.objectBuilderSelector = new ObjectBuilderSelector(this.ContainerContext, this.expressionBuilder); this.ServiceRegistrator = new ServiceRegistrator(this.ContainerContext, this.containerExtensionManager, this.objectBuilderSelector); this.RegisterResolvers(); }
internal StashboxContainer(IContainerExtensionManager containerExtensionManager, IResolverSelector resolverSelector, IContainerConfigurator containerConfigurator, IDecoratorRepository decoratorRepository, Action <IContainerConfigurator> config = null) { this.containerExtensionManager = containerExtensionManager; this.resolverSelector = resolverSelector; config?.Invoke(containerConfigurator); this.ContainerContext = new ContainerContext(this.registrationRepository, this, new ResolutionStrategy(this.resolverSelector), containerConfigurator, decoratorRepository); var expressionBuilder = new ExpressionBuilder(this.containerExtensionManager, new ConstructorSelector()); this.serviceRegistrator = new ServiceRegistrator(this.ContainerContext, this.containerExtensionManager); this.objectBuilderSelector = new ObjectBuilderSelector(expressionBuilder, this.serviceRegistrator); this.registrationBuilder = new RegistrationBuilder(this.ContainerContext, this.objectBuilderSelector); this.RootScope = new ResolutionScope(this.resolverSelector, expressionBuilder, this.ContainerContext); this.rootResolver = (IDependencyResolver)this.RootScope; }
public ExpressionBuilder(IContainerExtensionManager containerExtensionManager) { this.containerExtensionManager = containerExtensionManager; }
private FactoryObjectBuilder(IContainerContext containerContext, IContainerExtensionManager containerExtensionManager, IObjectExtender objectExtender) { this.containerExtensionManager = containerExtensionManager; this.objectExtender = objectExtender; this.containerContext = containerContext; }
public FactoryObjectBuilder(Func<object, object, object, object> threeParamsFactory, IContainerContext containerContext, IContainerExtensionManager containerExtensionManager, IObjectExtender objectExtender) : this(containerContext, containerExtensionManager, objectExtender) { this.threeParamsFactory = threeParamsFactory; }
public FactoryObjectBuilder(Func<object> factory, IContainerContext containerContext, IContainerExtensionManager containerExtensionManager, IObjectExtender objectExtender) : this(containerContext, containerExtensionManager, objectExtender) { this.singleFactory = factory; }
internal ServiceRegistrator(IContainerContext containerContext, IContainerExtensionManager containerExtensionManager) { this.containerContext = containerContext; this.containerExtensionManager = containerExtensionManager; }
public ExpressionBuilder(IContainerExtensionManager containerExtensionManager, IConstructorSelector constructorSelector) { this.containerExtensionManager = containerExtensionManager; this.constructorSelector = constructorSelector; }