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

IWindsorContainer

public interface IWindsorContainer : IDisposable
The IWindsorContainer interface exposes all the functionality that Windsor implements.
using Castle.MicroKernel; using Castle.MicroKernel.Registration; using System; namespace Castle.Windsor { public interface IWindsorContainer : IDisposable { IKernel Kernel { get; } string Name { get; } IWindsorContainer Parent { get; set; } 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, Arguments arguments); T Resolve<T>(); T Resolve<T>(Arguments arguments); T Resolve<T>(string key); T Resolve<T>(string key, Arguments arguments); object Resolve(string key, Type service, Arguments arguments); T[] ResolveAll<T>(); Array ResolveAll(Type service); Array ResolveAll(Type service, Arguments arguments); T[] ResolveAll<T>(Arguments arguments); } }