use*_*376 3 .net c# castle-windsor
这是我的程序集(TestAssembly)的外观
Class BaseClass
{
....
....
}
Interface I1
{
....
....
}
Interface I2 : I1
{
....
....
}
Interface I3 : I1
{
....
....
}
Class A : BaseClass, I2
{
....
....
}
Class B : BaseClass, I3
{
....
....
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Castle Windsor来注册和解决所有这些组件.
container.Register(AllTypes.FromAssemblyNamed("TestAssembly")
.BasedOn<I1>()
.LifestyleSingleton());
Run Code Online (Sandbox Code Playgroud)
我试图解决所有类型的I1(接口I1)使用
container.ResolveAll<I1>();
Run Code Online (Sandbox Code Playgroud)
希望得到一个对象A和B的数组.相反,我得到一个空数组.怎么了?
我相信你需要告诉容器哪些服务与界面相关联,例如:
container.Register(AllTypes.FromAssemblyNamed("TestAssembly")
.BasedOn<I1>()
.WithServiceBase()
.LifestyleSingleton());
Run Code Online (Sandbox Code Playgroud)