我有这3个接口:
interface IA {}
interface IB {}
interface IC {}
此外,我还有这个继承自IA
,IB
和IC
的其他界面:
interface II : IA, IB, IC {}
然后,我还创建了一个继承自CC
的课程II
:
class CC : II {}
我已经创建了这些绑定:
this.Bind<IA>().To<CC>().InSingletonScope();
this.Bind<IB>().To<CC>().InSingletonScope();
this.Bind<IC>().To<CC>().InSingletonScope();
this.Bind<II>().To<CC>().InSingletonScope();
我不知道,每当我要求任何一个接口时,NInject内核是否会提供CC
的相同单例实例。
所以,我的意思是:
IA ia = kernel.Get<IA>();
IB ib = kernel.Get<IB>();
ia
与ib
?
我怎么能得到这种行为?
答案 0 :(得分:3)
据我所知,这应该有效:
this.Bind<IA, IB, IC, II>().To<CC>().InSingletonScope();
Bind
的重载最多需要四个类型参数。