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));
}
}
}