NInject 中是否有工具可以让我像在 Unity 中那样按需加载来自其他模块(程序集)的服务?
最佳答案
我很确定这就是你要找的东西:
var kernel = new StandardKernel();
kernel.Load( Assembly.Load("yourpath_to_assembly.dll");
如果您在 Ninject.dll 中查看带有反射器的 KernelBase,您将看到此调用将递归加载已加载程序集中的所有模块(Load 方法采用 IEnumerable)
public void Load(IEnumerable<Assembly> assemblies)
{
foreach (Assembly assembly in assemblies)
{
this.Load(assembly.GetNinjectModules());
}
}
关于assemblies - NInject 可以按需加载模块/程序集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694640/