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

AbstractPropertyDescriptor

using Castle.Core; using Castle.Core.Configuration; using System.Collections.Generic; namespace Castle.MicroKernel.ModelBuilder.Descriptors { public abstract class AbstractPropertyDescriptor : IComponentModelDescriptor { public abstract void BuildComponentModel(IKernel kernel, ComponentModel model); public virtual void ConfigureComponentModel(IKernel kernel, ComponentModel model) { } protected void AddParameter(ComponentModel model, string name, IConfiguration value) { IConfiguration val = EnsureParametersConfiguration(model); MutableConfiguration val2 = new MutableConfiguration(name); ((List<IConfiguration>)val2.get_Children()).Add(value); ((List<IConfiguration>)val.get_Children()).Add(val2); } protected void AddParameter(ComponentModel model, string name, string value) { IConfiguration val = EnsureParametersConfiguration(model); ((List<IConfiguration>)val.get_Children()).Add(new MutableConfiguration(name, value)); } private IConfiguration EnsureParametersConfiguration(ComponentModel model) { IConfiguration val = model.Configuration.get_Children().get_Item("parameters"); if (val == null) { val = new MutableConfiguration("parameters"); ((List<IConfiguration>)model.Configuration.get_Children()).Add(val); } return val; } } }