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

ArrayResolver

using Castle.Core; namespace Castle.MicroKernel.Resolvers.SpecializedResolvers { public class ArrayResolver : ISubDependencyResolver { private readonly IKernel kernel; public ArrayResolver(IKernel kernel) { this.kernel = kernel; } public object Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency) { return kernel.ResolveAll(dependency.get_TargetType().GetElementType(), null); } public bool CanResolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency) { return (object)dependency.get_TargetType() != null && dependency.get_TargetType().IsArray && kernel.HasComponent(dependency.get_TargetType().GetElementType()); } } }