<PackageReference Include="Castle.Windsor" Version="5.1.0-beta001" />

InterceptorGroup<S>

public class InterceptorGroup<S> : RegistrationGroup<S>
using Castle.Core; using Castle.DynamicProxy; using Castle.MicroKernel.ModelBuilder.Descriptors; namespace Castle.MicroKernel.Registration.Interceptor { public class InterceptorGroup<S> : RegistrationGroup<S> where S : class { private readonly InterceptorReference[] interceptors; public ComponentRegistration<S> Anywhere { get { AddDescriptor(new InterceptorDescriptor(interceptors)); return base.Registration; } } public ComponentRegistration<S> First { get { AddDescriptor(new InterceptorDescriptor(interceptors, InterceptorDescriptor.Where.First)); return base.Registration; } } public ComponentRegistration<S> Last { get { AddDescriptor(new InterceptorDescriptor(interceptors, InterceptorDescriptor.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(interceptors, index)); return base.Registration; } public InterceptorGroup<S> SelectedWith(IInterceptorSelector selector) { base.Registration.SelectInterceptorsWith(selector); return this; } } }