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

Castle.MicroKernel.Registration.BasedOnDescriptor

Describes how to register a group of related types.
namespace Castle.MicroKernel.Registration { public class BasedOnDescriptor : IRegistration { public ServiceDescriptor WithService { get; } public FromDescriptor AllowMultipleMatches(); public BasedOnDescriptor OrBasedOn(Type basedOn); public BasedOnDescriptor Configure(Action<ComponentRegistration> configurer); public BasedOnDescriptor ConfigureFor<TComponentImplementationType>(Action<ComponentRegistration> configurer); public BasedOnDescriptor ConfigureIf(Predicate<ComponentRegistration> condition, Action<ComponentRegistration> configurer); public BasedOnDescriptor ConfigureIf(Predicate<ComponentRegistration> condition, Action<ComponentRegistration> configurerWhenTrue, Action<ComponentRegistration> configurerWhenFalse); public BasedOnDescriptor If(Predicate<Type> ifFilter); public BasedOnDescriptor Unless(Predicate<Type> unlessFilter); public BasedOnDescriptor WithServiceAllInterfaces(); public BasedOnDescriptor WithServiceBase(); public BasedOnDescriptor WithServiceDefaultInterfaces(); public BasedOnDescriptor WithServiceFirstInterface(); public BasedOnDescriptor WithServiceFromInterface(Type implements); public BasedOnDescriptor WithServiceFromInterface(); public BasedOnDescriptor WithServiceSelect(ServiceDescriptor.ServiceSelector selector); public BasedOnDescriptor WithServiceSelf(); public BasedOnDescriptor LifestyleCustom(Type customLifestyleType); public BasedOnDescriptor LifestyleCustom<TLifestyleManager>() where TLifestyleManager : ILifestyleManager, new; public BasedOnDescriptor LifestylePerThread(); public BasedOnDescriptor LifestyleScoped(); public BasedOnDescriptor LifestyleScoped(Type scopeAccessorType); public BasedOnDescriptor LifestyleScoped<TScopeAccessor>() where TScopeAccessor : IScopeAccessor, new; public BasedOnDescriptor LifestyleBoundTo<TBaseForRoot>() where TBaseForRoot : class; public BasedOnDescriptor LifestyleBoundToNearest<TBaseForRoot>() where TBaseForRoot : class; public BasedOnDescriptor LifestylePooled(int? initialSize = default(int?), int? maxSize = default(int?)); public BasedOnDescriptor LifestyleSingleton(); public BasedOnDescriptor LifestyleTransient(); public BasedOnDescriptor WithServices(IEnumerable<Type> types); public BasedOnDescriptor WithServices(params Type[] types); protected virtual bool Accepts(Type type, out Type[] baseTypes); protected bool ExecuteIfCondition(Type type); protected bool ExecuteUnlessCondition(Type type); protected bool IsBasedOn(Type type, out Type[] baseTypes); } }