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

AttributeDescriptor<S>

using Castle.Core.Configuration; using System.Collections.Specialized; namespace Castle.MicroKernel.ModelBuilder.Descriptors { public class AttributeDescriptor<S> : AbstractOverwriteableDescriptor<S> where S : class { private readonly string name; private readonly string value; public AttributeDescriptor(string name, string value) { this.name = name; this.value = value; } protected override void ApplyToConfiguration(IKernel kernel, IConfiguration configuration) { if (((NameValueCollection)configuration.get_Attributes())[name] == null || base.IsOverWrite) ((NameValueCollection)configuration.get_Attributes())[name] = value; } } }