小编Voi*_*ame的帖子

如何从 IServiceProvider.GetServices<T> (aspnet core DI)按基本类型获取实例?

我想获取MyBaseClass从 IServiceProvider 继承的所有服务:

var myBaseClassInstances = serviceProvider.GetServices<MyBaseClass>();
Run Code Online (Sandbox Code Playgroud)

我可以将所有派生类注册为:

services.AddSingleton<InheritedFromMyBaseClass>();
services.AddSingleton<MyBaseClass>(serviceProvider => serviceProvider.GetService<InheritedFromMyBaseClass>());
Run Code Online (Sandbox Code Playgroud)

有什么方法可以通过一次注册来做到这一点吗?

dependency-injection asp.net-core-2.2

5
推荐指数
1
解决办法
1953
查看次数