我有一个非常简单的 DI 问题,想知道是否有办法使用 Ninject(或任何其他 DI 助手)来解决它。我有一个数据访问接口,由几个数据源提供程序实现,如 DB、Sharepoint、CRM 等。
我想使用 Ninject 来获取接口的特定实例,该实例基于包含表示此实现之一的代码的参数。到目前为止,我知道我可以通过使用命名绑定来做到这一点,但是我找不到通过 xml 配置文件(Ninject.extensions.xml)来做同样的事情的方法。
Ninject extensions xml提供了一种解决单一映射的方法:
<module name="SomeModule">
<bind service="Game.IWeapon" to="Game.Sword"/>
<bind service="Game.IWarrior" toProvider="Game.SamuraiProvider"/>
</module>
我想做一个这样的配置,但是对同一个接口使用多个映射,使用名称、代码等。
TIA,
米尔顿