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

AbstractOverwriteableDescriptor<TService>

using Castle.Core; using Castle.Core.Configuration; using Castle.MicroKernel.Registration; namespace Castle.MicroKernel.ModelBuilder.Descriptors { public abstract class AbstractOverwriteableDescriptor<TService> : IComponentModelDescriptor where TService : class { protected bool IsOverWrite => Registration.IsOverWrite; internal ComponentRegistration<TService> Registration { get; set; } public virtual void BuildComponentModel(IKernel kernel, ComponentModel model) { ApplyToConfiguration(kernel, model.Configuration); } public virtual void ConfigureComponentModel(IKernel kernel, ComponentModel model) { } protected virtual void ApplyToConfiguration(IKernel kernel, IConfiguration configuration) { } } }