我想创建一些代码行,自动注入所有类和接口。
我认为这足以创建一个像IBase
这样的基本接口
然后
public interface IManager : IBase { }
public interface IService : IBase { }
和类
public class Manager : IManager { }
public class Service : IService { }
控制器的构造函数可能如下所示:
public MyController(IManager manager) { }
可以注册所有接口和类,这些接口和类IBase
避免像
kernel.Bind<IService>().To<Service();
?
谢谢
这可以通过使用约定绑定来实现:
https://github.com/ninject/Ninject.Extensions.Conventions
例:
kernel.Bind(x => x.FromThisAssembly().SelectAllClasses().BindAllInterfaces());
这会将调用程序集的所有类绑定到所有实现的接口。