【发布时间】:2010-03-24 13:14:06
【问题描述】:
在 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?
【问题讨论】:
-
我很快就会看看,但你真的应该使用邮件列表来处理这些东西。
-
感谢您指出这一点。我不知道邮件列表。我在那里转发了这个问题。
-
@Ian Davis:我真的更喜欢 SO 而不是邮件列表。如果这 101 个问题可以作为可重新排序、可编辑、可评论的答案出现在这里,而不是埋在雪堆里的电子邮件中,那就更好了。但这只是我猜的。
-
邮件列表对提交者和奉献者来说很好,但如果你想要一个消费者社区,你可以用文档播种,然后可以在那里(这里)合并同一个 101 问题的每个不同陈述。如果提交者想要收集用户问题中包含的喋喋不休,它会以更简洁的格式准备就绪,而且他们还没有被无休止的新手洪流所淹没。
-
邮件列表有数百人直接对主题感兴趣,从而更快地解决。我喜欢 SO 做很多事情,但不喜欢有以下项目的 OS 项目。
标签: parameters ninject ninject-2 conditional-binding contextual-binding