我有一个场景,我在应用程序中有许多功能,这些功能是基于网络上存在的网络设备启用和禁用的。我正在使用Ninject来管理应用程序中的当前功能树。
我想要做的是能够在应用程序运行时添加和删除一组绑定到我的内核。我想使用Ninject模块之类的东西将它们捆绑在一起,但我无法弄清楚如何从现有的内核中添加/删除模块。
任何人都知道如何做或有更好的选择吗?
答案 0 :(得分:2)
第一次解决后不要尝试添加/删除!内核should be configured completely before resolving objects and the configuration should not change anymore after the first resolve。
改为使用条件绑定:
Bind<INetworkDevice>().To<NetworkPrinter>().When(ctx => PrinterIsEnabled());