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)
{
}
}
}