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

ParametersDescriptor

using Castle.Core; using Castle.Core.Internal; using Castle.MicroKernel.Registration; namespace Castle.MicroKernel.ModelBuilder.Descriptors { public class ParametersDescriptor : AbstractPropertyDescriptor { private readonly Parameter[] parameters; public ParametersDescriptor(params Parameter[] parameters) { this.parameters = parameters; } public override void BuildComponentModel(IKernel kernel, ComponentModel model) { parameters.ForEach(delegate(Parameter p) { Apply(model, p); }); } private void Apply(ComponentModel model, Parameter parameter) { if (parameter.Value != null) AddParameter(model, parameter.Key, parameter.Value); else if ((object)parameter.ConfigNode != null) { AddParameter(model, parameter.Key, parameter.ConfigNode); } } } }