1

我正在开发一个应用程序并使用 Ninject 进行 DI。我希望能够根据我使用的解决方案配置将不同的对象注入给定的方法。也就是说,在“模拟”配置模式下,我想注入一个模拟对象,而在调试/发布配置中,我想注入一个真实对象。

阅读了 Ninject 和配置后,我了解到 XML 配置提供了这样的可能性。但是,如果可能的话,我想在没有 XML 的情况下执行此操作。(我倾向于同意 Ninject 的观点,即在已发布的产品中不应配置注入细节……)我也知道我可以使用预处理器指令来执行此操作。我想知道的是 Ninject 中是否存在此功能,或者我是否需要扩展/解决方法来完成它。

4

1 回答 1

7

ninject 配置中的预处理器指令呢?它应该做你想做的事。

#if DEBUG
        kernel.Bind<IMyService>().To<MyServiceMock>();
#else
        kernel.Bind<IMyService>().To<MyService>();
#endif
于 2012-11-09T15:08:52.873 回答