RegistrationGroup<S>
using Castle.MicroKernel.ModelBuilder;
using Castle.MicroKernel.ModelBuilder.Descriptors;
namespace Castle.MicroKernel.Registration
{
    public abstract class RegistrationGroup<S> where S : class
    {
        private readonly ComponentRegistration<S> registration;
        public ComponentRegistration<S> Registration => registration;
        public RegistrationGroup(ComponentRegistration<S> registration)
        {
            this.registration = registration;
        }
        protected ComponentRegistration<S> AddAttributeDescriptor(string name, string value)
        {
            return registration.AddDescriptor(new AttributeDescriptor<S>(name, value));
        }
        protected ComponentRegistration<S> AddDescriptor(IComponentModelDescriptor descriptor)
        {
            return registration.AddDescriptor(descriptor);
        }
    }
}