DelegatingModelDescriptor
using Castle.Core;
using System;
namespace Castle.MicroKernel.ModelBuilder.Descriptors
{
public class DelegatingModelDescriptor : IComponentModelDescriptor
{
private readonly Action<IKernel, ComponentModel> builder;
private readonly Action<IKernel, ComponentModel> configurer;
public DelegatingModelDescriptor(Action<IKernel, ComponentModel> builder = null, Action<IKernel, ComponentModel> configurer = null)
{
this.builder = builder;
this.configurer = configurer;
}
public void BuildComponentModel(IKernel kernel, ComponentModel model)
{
if (builder != null)
builder(kernel, model);
}
public void ConfigureComponentModel(IKernel kernel, ComponentModel model)
{
if (configurer != null)
configurer(kernel, model);
}
}
}