Castle Windsor can't inject an array of interface types
castle-windsor, dependency-injection
Solution
Add the ArrayResolver:
container.Kernel.Resolver.AddSubResolver(new ArrayResolver(container.Kernel));
Problem
I have a class that takes an array of interfaces in the constructor: ``` public class Foo<T1, T2> : IFoo<T1, T2> { public Foo(IBar[] bars) { ... } } ``` My container registration looks as follows: ``` container.Register(AllTypes.Pick().FromAssemblyNamed("...") .WithService.FirstInterface()); container.AddComponent("foo", typeof(IFoo<,>), typeof(Foo<,>)); ``` I have several implementations of IBar, and the container can definately locate them, as calling `ServiceLocator.Current.GetAllInstances<IBar>()` works fine. However, if I try to get an instance of IFoo, it throws an exception saying it couldn't satisfy the deoendency... "which was not registered". If I change the constructor to take a single instance of IBar it works fine. Any ideas?