12
我有一個類,它的接口在構造的數組:城堡溫莎不能注入接口類型的數組
public class Foo<T1, T2> : IFoo<T1, T2>
{
public Foo(IBar[] bars)
{
...
}
}
我的容器登記看起來如下:
container.Register(AllTypes.Pick().FromAssemblyNamed("...")
.WithService.FirstInterface());
container.AddComponent("foo", typeof(IFoo<,>), typeof(Foo<,>));
我有幾個IBar的實現,並且容器可以明確地定位它們,因爲調用ServiceLocator.Current.GetAllInstances<IBar>()
可以正常工作。
但是,如果我嘗試獲取IFoo的實例,它會拋出一個異常,說它無法滿足「未註冊」的異常...「。
如果我改變構造函數採取IBar的單個實例它工作正常。
任何想法?
又見溫莎FAQ:http://using.castleproject.org/display/IoC/FAQ – 2010-01-24 16:26:15