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

ParametersDescriptor

using Castle.Core; using Castle.MicroKernel.Registration; using System; 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) { Array.ForEach(parameters, 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); } } } }