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;
        }
    }
}