C# 如何使用多个条件创建Ninject绑定?

C# 如何使用多个条件创建Ninject绑定?,c#,ninject,C#,Ninject,是否可以通过组合条件来创建绑定?例如组合。WhenInjectedExactlyInto和WhenParentNamed?通常情况下,我会使用When语法并合并这些方法的Ninject源代码,但我想知道是否有一种通用的方法可以做到这一点 除了使用您已经在做的When方法之外,没有通用的方法(开箱即用) 问题是ninject代码中的相关条件“谓词”是不可公开访问的,因此您最终复制了ninject的代码 我建议在上创建问题并提供拉取请求(PR)这使得相关的代码部分成为公共的,因此它们可以在外部重用。

是否可以通过组合条件来创建绑定?例如组合。WhenInjectedExactlyInto和WhenParentNamed?通常情况下,我会使用When语法并合并这些方法的Ninject源代码,但我想知道是否有一种通用的方法可以做到这一点

除了使用您已经在做的
When
方法之外,没有通用的方法(开箱即用)

问题是ninject代码中的相关条件“谓词”是不可公开访问的,因此您最终复制了ninject的代码


我建议在上创建问题并提供拉取请求(PR)这使得相关的代码部分
成为公共的
,因此它们可以在外部重用。

听起来像是需要factoriest谓词本身是不可访问的,但是可以在通过BuilderConfiguration.Condition属性(public)应用它们之后访问它们。这样你就可以把它们结合起来,这就是我最后要做的。但这并不理想,因为这确实意味着您必须假设构建器是BindingConfigurationBuilder,但我现在可以接受它。@AmitG是的,这是事实,我在回答中也展示了使用这种方法。它是有效的,但如果这些谓词可用,它会变得更干净