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

Castle.Windsor.IWindsorContainer

public interface IWindsorContainer : IDisposable
The IWindsorContainer interface exposes all the functionality the Windsor implements.
namespace Castle.Windsor { public interface IWindsorContainer : IDisposable { IKernel Kernel { get; } string Name { get; } IWindsorContainer Parent { get; set; } [Obsolete("Use Resolve<object>(key) instead.")] [EditorBrowsable(EditorBrowsableState.Never)] object this[string key] { get; } [Obsolete("Use Resolve(service) or generic version instead.")] [EditorBrowsable(EditorBrowsableState.Never)] object this[Type service] { get; } void AddChildContainer(IWindsorContainer childContainer); IWindsorContainer AddFacility(IFacility facility); IWindsorContainer AddFacility<TFacility>() where TFacility : IFacility, new; IWindsorContainer AddFacility<TFacility>(Action<TFacility> onCreate) where TFacility : IFacility, new; IWindsorContainer GetChildContainer(string name); IWindsorContainer Install(params IWindsorInstaller[] installers); IWindsorContainer Register(params IRegistration[] registrations); void Release(object instance); void RemoveChildContainer(IWindsorContainer childContainer); object Resolve(string key, Type service); object Resolve(Type service); object Resolve(Type service, IDictionary arguments); object Resolve(Type service, object argumentsAsAnonymousType); T Resolve<T>(); T Resolve<T>(IDictionary arguments); T Resolve<T>(object argumentsAsAnonymousType); T Resolve<T>(string key); T Resolve<T>(string key, IDictionary arguments); T Resolve<T>(string key, object argumentsAsAnonymousType); object Resolve(string key, Type service, IDictionary arguments); object Resolve(string key, Type service, object argumentsAsAnonymousType); T[] ResolveAll<T>(); Array ResolveAll(Type service); Array ResolveAll(Type service, IDictionary arguments); Array ResolveAll(Type service, object argumentsAsAnonymousType); T[] ResolveAll<T>(IDictionary arguments); T[] ResolveAll<T>(object argumentsAsAnonymousType); IWindsorContainer AddComponent(string key, Type classType); IWindsorContainer AddComponent(string key, Type serviceType, Type classType); IWindsorContainer AddComponent<T>(); IWindsorContainer AddComponent<T>(string key); IWindsorContainer AddComponent<I, T>() where T : class; IWindsorContainer AddComponent<I, T>(string key) where T : class; IWindsorContainer AddComponentLifeStyle(string key, Type classType, LifestyleType lifestyle); IWindsorContainer AddComponentLifeStyle(string key, Type serviceType, Type classType, LifestyleType lifestyle); IWindsorContainer AddComponentLifeStyle<T>(LifestyleType lifestyle); IWindsorContainer AddComponentLifeStyle<T>(string key, LifestyleType lifestyle); IWindsorContainer AddComponentLifeStyle<I, T>(LifestyleType lifestyle) where T : class; IWindsorContainer AddComponentLifeStyle<I, T>(string key, LifestyleType lifestyle) where T : class; IWindsorContainer AddComponentProperties<I, T>(IDictionary extendedProperties) where T : class; IWindsorContainer AddComponentProperties<I, T>(string key, IDictionary extendedProperties) where T : class; IWindsorContainer AddComponentWithProperties(string key, Type classType, IDictionary extendedProperties); IWindsorContainer AddComponentWithProperties(string key, Type serviceType, Type classType, IDictionary extendedProperties); IWindsorContainer AddComponentWithProperties<T>(IDictionary extendedProperties); IWindsorContainer AddComponentWithProperties<T>(string key, IDictionary extendedProperties); IWindsorContainer AddFacility(string idInConfiguration, IFacility facility); IWindsorContainer AddFacility<TFacility>(string idInConfiguration) where TFacility : IFacility, new; IWindsorContainer AddFacility<TFacility>(string idInConfiguration, Action<TFacility> configureFacility) where TFacility : IFacility, new; object Resolve(string key, IDictionary arguments); object Resolve(string key, object argumentsAsAnonymousType); } }