我需要从构造函数中注入我在安装程序中声明的所有内容。
我可以吗?如何从构造函数中注入服务?类似于 Angular 2 中的 Injector 服务。
在控制器中没有构造函数的注入服务
像这样的东西
public class ControllerBase : Controller
{
protected IRepository<Test> _test;
protected IRepository<Test1> _test1;
protected IRepository<Test2> _test2;
public ControllerBase(INJECTOR injector)
{
_test = injector.inject(IRepository<Test>);
_test1 = injector.inject(IRepository<Test1>);
_test2 = injector.inject(IRepository<Test2>);
}
}
public class SomeController : ControllerBase
{
public SomeController(INJECTOR injector)
: base(injector)
{
}
}
Run Code Online (Sandbox Code Playgroud)
感谢回答@Rick van den Bosch
对于那些仍然无法获得我想要的东西的人:
public class ControllerBase : Controller
{
protected IRepository<Test> _test;
protected IRepository<Test1> _test1;
protected IRepository<Test2> _test2;
public ControllerBase(IServiceProvider injector)
{
_test = injector.GetService<IRepository<Test>>(); …Run Code Online (Sandbox Code Playgroud)