在Microsoft.Extensions.DependencyInjection中,我可以:
public static IServiceCollection BuildAopProxy(this IServiceCollection service)
{
foreach (ServiceDescriptor item in service)
{}
}
Run Code Online (Sandbox Code Playgroud)
如何获取 Autofac 中注册的组件?
所有注册的集合可以在ComponentRegistry容器和任何嵌套范围中找到:
var builder = new ContainerBuilder();
builder.RegisterType<MyType>();
var container = builder.Build();
// Here is the list you want.
container.ComponentRegistry.Registrations;
Run Code Online (Sandbox Code Playgroud)
如果您实际上想要解析特定服务的所有提供者,您可以解析IEnumerable<TService>:
var builder = new ContainerBuilder();
// Two implementations of the same service.
builder.RegisterType<MyTypeA>().As<IService1>();
builder.RegisterType<MyTypeB>().As<IService1>();
var container = builder.Build();
// This will return a set with 2 items.
container.Resolve<IEnumerable<IService1>>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1045 次 |
| 最近记录: |