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

InterceptorGroup<S>

public class InterceptorGroup<S> : RegistrationGroup<S>
using Castle.Core; using Castle.Core.Interceptor; namespace Castle.MicroKernel.Registration.Interceptor { public class InterceptorGroup<S> : RegistrationGroup<S> { private readonly InterceptorReference[] interceptors; public ComponentRegistration<S> Anywhere { get { AddDescriptor(new InterceptorDescriptor<S>(interceptors)); return base.Registration; } } public ComponentRegistration<S> First { get { AddDescriptor(new InterceptorDescriptor<S>(interceptors, InterceptorDescriptor<S>.Where.First)); return base.Registration; } } public ComponentRegistration<S> Last { get { AddDescriptor(new InterceptorDescriptor<S>(interceptors, InterceptorDescriptor<S>.Where.Last)); return base.Registration; } } public InterceptorGroup(ComponentRegistration<S> registration, InterceptorReference[] interceptors) : base(registration) { this.interceptors = interceptors; } public ComponentRegistration<S> AtIndex(int index) { AddDescriptor(new InterceptorDescriptor<S>(interceptors, index)); return base.Registration; } public InterceptorGroup<S> SelectedWith(IInterceptorSelector selector) { base.Registration.SelectInterceptorsWith(selector); return this; } } }