这是我的程序集 (TestAssembly) 的样子
Class BaseClass
{
....
....
}
Interface I1
{
....
....
}
Interface I2 : I1
{
....
....
}
Interface I3 : I1
{
....
....
}
Class A : BaseClass, I2
{
....
....
}
Class B : BaseClass, I3
{
....
....
}
我正在使用 CaSTLe Windsor 来注册和解析所有这些组件。
container.Register(AllTypes.FromAssemblyNamed("TestAssembly")
.BasedOn<I1>()
.LifestyleSingleton());
我正在尝试使用 ResolveAll Types of I1 (Interface I1)
container.ResolveAll<I1>();
希望获得对象 A 和 B 的数组。但我得到的是一个空数组。怎么了?
最佳答案
我相信你需要告诉容器哪些服务与接口(interface)相关联,比如:
container.Register(AllTypes.FromAssemblyNamed("TestAssembly")
.BasedOn<I1>()
.WithServiceBase()
.LifestyleSingleton());
关于c# - CaSTLe ResolveAll 返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9105056/