ConfigurationDescriptor
using Castle.Core;
using Castle.Core.Configuration;
using Castle.MicroKernel.Registration;
using System.Collections.Generic;
namespace Castle.MicroKernel.ModelBuilder.Descriptors
{
public class ConfigurationDescriptor : IComponentModelDescriptor
{
private readonly Node[] configNodes;
private readonly IConfiguration configuration;
public ConfigurationDescriptor(params Node[] configNodes)
{
this.configNodes = configNodes;
}
public ConfigurationDescriptor(IConfiguration configuration)
{
this.configuration = configuration;
}
public void BuildComponentModel(IKernel kernel, ComponentModel model)
{
if (configuration != null)
((List<IConfiguration>)model.Configuration.get_Children()).Add(configuration);
else {
Node[] array = configNodes;
foreach (Node node in array) {
node.ApplyTo(model.Configuration);
}
}
}
public void ConfigureComponentModel(IKernel kernel, ComponentModel model)
{
}
}
}