Constructor Dependency injection in asp.net core 2
本问题已经有最佳答案,请猛点这里访问。
我已经阅读了以下官方文档:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection。
在构造函数注入中有一些我不理解的地方:
让我们看一下我的代码,它工作得很好:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class HomeController : Controller { private readonly UserManager<Utilisateurs> _userManager; private readonly SignInManager<Utilisateurs> _signInManager; private readonly RoleManager<IdentityRole> _roleManager; public HomeController( SignInManager<Utilisateurs> signInManager, UserManager<Utilisateurs> userManager, RoleManager<IdentityRole> roleManager) { _userManager = userManager; _signInManager = signInManager; _roleManager = roleManager; } |
如果更改构造函数参数顺序或删除以下某些参数,它也可以正常工作:
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class HomeController : Controller { private readonly UserManager<Utilisateurs> _userManager; private readonly SignInManager<Utilisateurs> _signInManager; public HomeController( UserManager<Utilisateurs> userManager SignInManager<Utilisateurs> signInManager, ) { _userManager = userManager; _signInManager = signInManager; } |
我理解DI的概念。我不明白的是,它是如何在C中工作的,以便在构造函数参数中有动态的东西?是否有一组所有类型的重载构造函数?
谢谢
how does it work in C# to have something dynamic in constructor parameters ? Is there a set of all kind of overload constructors?
不要那样使用"动态"这个词,它在那句话中是个时髦的词。在编程中,一切都是动态的。
如果您想问DI框架如何用构造函数参数匹配注册的服务,那么是的,有一组构造函数重载。
DI框架通过反射找到这些,请参阅msdn: