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

问题描述 投票:0回答:1

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

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

?

谢谢

c# .net asp.net-mvc ninject
1个回答
0
投票

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

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

例:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.