在 Microsoft.Extensions.DependencyInjection(依赖注入)我可以。
public static IServiceCollection BuildAopProxy(this IServiceCollection service)
{
foreach (ServiceDescriptor item in service)
{}
}
如何获取Autofac中注册的组件?
所有注册的集合可以在 ComponentRegistry
的容器和任何嵌套的作用域中可用。
var builder = new ContainerBuilder();
builder.RegisterType<MyType>();
var container = builder.Build();
// Here is the list you want.
container.ComponentRegistry.Registrations;
如果你真的想解析一个特定服务的所有提供者,你可以只解析一个 "服务"。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>>();