我不知道如何使用 UnityContainer 进行跟踪。
interface A { }
interface B { }
interface X { }
class ConcreteAX : A, X { }
class ConcreteBX : B, X { }
我需要注册两个具体类,以便ServiceLocator.ResolveAll<X>
返回两个实例。在同一时间Resolve<A>
,Resolve<B>
也应该工作。此外,我在注册服务时不能自己实例化它们。
如果我使用命名注册X
来进行ResolveAll
工作,则会创建每个具体类的两个实例。如果我对所有接口使用命名注册,那么Resolve<A>
并且Resolve<B>
不起作用。如果我使用这种方法,那么ResolveAll
什么都不返回。
如何使用 UnityContainer 解决问题?