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

WindsorContainerExtensions

public static class WindsorContainerExtensions
using Castle.MicroKernel; using System; using System.Collections.Generic; namespace Castle.Windsor { public static class WindsorContainerExtensions { public static object Resolve(this IWindsorContainer container, Type service, IEnumerable<KeyValuePair<string, object>> arguments) { return container.Kernel.Resolve(service, new Arguments().AddNamed(arguments)); } public static object Resolve(this IWindsorContainer container, string key, Type service, IEnumerable<KeyValuePair<string, object>> arguments) { return container.Kernel.Resolve(key, service, new Arguments().AddNamed(arguments)); } public static T Resolve<T>(this IWindsorContainer container, IEnumerable<KeyValuePair<string, object>> arguments) { return (T)container.Kernel.Resolve(typeof(T), new Arguments().AddNamed(arguments)); } public static T Resolve<T>(this IWindsorContainer container, string key, IEnumerable<KeyValuePair<string, object>> arguments) { return container.Kernel.Resolve<T>(key, new Arguments().AddNamed(arguments)); } public static Array ResolveAll(this IWindsorContainer container, Type service, IEnumerable<KeyValuePair<string, object>> arguments) { return container.Kernel.ResolveAll(service, new Arguments().AddNamed(arguments)); } public static T[] ResolveAll<T>(this IWindsorContainer container, IEnumerable<KeyValuePair<string, object>> arguments) { return (T[])container.ResolveAll(typeof(T), new Arguments().AddNamed(arguments)); } } }