<PackageReference Include="Castle.Windsor" Version="3.0.0.4001" />

PartialConfigurationStore

using Castle.Core.Configuration; using Castle.Core.Resource; using Castle.MicroKernel; using Castle.MicroKernel.SubSystems.Configuration; using System; namespace Castle.Windsor.Installer { internal class PartialConfigurationStore : IConfigurationStore, ISubSystem, IDisposable { private readonly IConfigurationStore inner; private readonly IConfigurationStore partial; public PartialConfigurationStore(IKernelInternal kernel) { inner = kernel.ConfigurationStore; partial = new DefaultConfigurationStore(); partial.Init(kernel); } public void AddChildContainerConfiguration(string name, IConfiguration config) { inner.AddChildContainerConfiguration(name, config); partial.AddChildContainerConfiguration(name, config); } public void AddComponentConfiguration(string key, IConfiguration config) { inner.AddComponentConfiguration(key, config); partial.AddComponentConfiguration(key, config); } public void AddFacilityConfiguration(string key, IConfiguration config) { inner.AddFacilityConfiguration(key, config); partial.AddFacilityConfiguration(key, config); } public void AddInstallerConfiguration(IConfiguration config) { inner.AddInstallerConfiguration(config); partial.AddInstallerConfiguration(config); } public IConfiguration GetChildContainerConfiguration(string key) { return partial.GetChildContainerConfiguration(key); } public IConfiguration GetComponentConfiguration(string key) { return partial.GetComponentConfiguration(key); } public IConfiguration[] GetComponents() { return partial.GetComponents(); } public IConfiguration[] GetConfigurationForChildContainers() { return partial.GetConfigurationForChildContainers(); } public IConfiguration[] GetFacilities() { return partial.GetFacilities(); } public IConfiguration GetFacilityConfiguration(string key) { return partial.GetFacilityConfiguration(key); } public IConfiguration[] GetInstallers() { return partial.GetInstallers(); } public IResource GetResource(string resourceUri, IResource resource) { return inner.GetResource(resourceUri, resource); } public void Dispose() { Terminate(); } public void Init(IKernelInternal kernel) { partial.Init(kernel); } public void Terminate() { partial.Terminate(); } } }