Ninject自动注入所有接口和类C#和MVC

时间:2018-03-05 11:33:08

标签: c# .net asp.net-mvc ninject

我想创建一些代码行,它们会自动注入所有类和接口。

我认为这足以创建像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();

由于

1 个答案:

答案 0 :(得分:0)

这可以通过使用约定绑定来实现:

https://github.com/ninject/Ninject.Extensions.Conventions

示例:

kernel.Bind(x => x.FromThisAssembly().SelectAllClasses().BindAllInterfaces());

这将绑定从调用程序集到所有已实现接口的所有类。