我有一个场景,我在应用程序中有一堆功能,这些功能是根据网络上存在的网络设备启用和禁用的。我正在使用 Ninject 在应用程序中管理我当前的功能树。
我想要做的是能够在应用程序运行时向我的内核添加和删除一组绑定。我想使用类似 Ninject 模块的东西来将它们捆绑在一起,但是我不知道如何从现有内核中添加/删除模块。
任何人都知道如何做到这一点或有更好的选择?
我有一个场景,我在应用程序中有一堆功能,这些功能是根据网络上存在的网络设备启用和禁用的。我正在使用 Ninject 在应用程序中管理我当前的功能树。
我想要做的是能够在应用程序运行时向我的内核添加和删除一组绑定。我想使用类似 Ninject 模块的东西来将它们捆绑在一起,但是我不知道如何从现有内核中添加/删除模块。
任何人都知道如何做到这一点或有更好的选择?
不要在第一次解决后尝试添加/删除!在解析对象之前应该完全配置内核,并且在第一次解析之后配置不应再更改。
改为使用条件绑定:
Bind<INetworkDevice>().To<NetworkPrinter>().When(ctx => PrinterIsEnabled());