在 Ninject 1.0 中,我有以下绑定定义:
Bind<ITarget>().To<Target1>().Only(When.Context.Variable("variable").EqualTo(true));
Bind<ITarget>().To<Target2>();
鉴于这样的绑定,我有电话:
ITarget target = kernel.Get<ITarget>(With.Parameters.ContextVariable("variable", true));
ITarget target = kernel.Get<ITarget>(With.Parameters.ContextVariable("variable", false));
第一次调用被解析为 Target1 的实例,第二次调用被解析为 Target2 的实例。
如何将其翻译成 Ninject 2.0?