我想创建一些代码行,它们会自动注入所有类和接口。
我认为这足以创建像IBase
然后
public interface IManager : IBase { }
public interface IService : IBase { }
和班级
public class Manager : IManager { }
public class Service : IService { }
Controller的构造函数可能如下所示:
public MyController(IManager manager) { }
可以注册所有具有IBase
的接口和类,以避免逐个添加
kernel.Bind<IService>().To<Service();
由于
答案 0 :(得分:0)
这可以通过使用约定绑定来实现:
https://github.com/ninject/Ninject.Extensions.Conventions
示例:
kernel.Bind(x => x.FromThisAssembly().SelectAllClasses().BindAllInterfaces());
这将绑定从调用程序集到所有已实现接口的所有类。