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

DefaultNamingSubSystem

Default INamingSubSystem implementation. Keeps services map as a simple hash table. Keeps key map as a list dictionary to maintain order. Does not support a query string.

protected readonly Dictionary<string, IHandler> key2Handler

Map(String, IHandler) to map component keys to IHandler Items in this dictionary are sorted in insertion order.

protected readonly Lock lock

protected readonly Dictionary<Type, IHandler> service2Handler

Map(Type, IHandler) to map a service to IHandler. If there is more than a single service of the type, only the first registered services is stored in this dictionary. It serve as a fast lookup for the common case of having a single handler for a type.

public virtual int ComponentCount { get; }

protected IDictionary<string, IHandler> HandlerByKeyCache { get; }

public void AddHandlerSelector(IHandlerSelector selector)

public void AddHandlersFilter(IHandlersFilter filter)

public virtual bool Contains(string key)

public virtual bool Contains(Type service)

public virtual IHandler[] GetAllHandlers()

public virtual IHandler[] GetAssignableHandlers(Type service)

protected virtual IHandler[] GetFiltersOpinion(Type service)

public virtual IHandler GetHandler(string key)

public virtual IHandler GetHandler(Type service)

public virtual IHandler[] GetHandlers(Type service)

protected virtual IHandler GetSelectorsOpinion(string key, Type type)

protected void InvalidateCache()

protected bool IsAssignable(Type thisOne, Type fromThisOne)

public virtual void Register(IHandler handler)