多个接口绑定到单个类

时间:2017-10-16 11:54:39

标签: ninject

我有这3个接口:

interface IA {}
interface IB {}
interface IC {}

此外,我还有这个继承自IAIBIC的其他界面:

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>();

iaib

的实例相同

我怎么能得到这种行为?

1 个答案:

答案 0 :(得分:3)

据我所知,这应该有效:

this.Bind<IA, IB, IC, II>().To<CC>().InSingletonScope();

Bind的重载最多需要四个类型参数。