净核心相当于Castle Windsor ResolveAll
Net core equivalent of Castle Windsor ResolveAll
我正在尝试将使用 Castle Windsor 制作的旧 NetFramwork 项目移至 netcore。我正在尝试用 Microsoft.Extensions.DependencyInjection 包替换此 nuget 包,但我没有找到转换此代码的等效项:
container.Register(Component.For<IInterface1>>().ImplementedBy<Class1>().Named(nameof(v1)));
container.Register(Component.For<IInterface1>>().ImplementedBy<Class2>().Named(nameof(v2)));
并解决全部使用:
kernel.ResolveAll(IInterface1);
有没有办法使用 IServiceProvider 来做到这一点?
.GetServices<TService>()
IServiceProvider
上的扩展方法
IEnumerable<IInterface1> variable = service.GetServices<IInterface1>().
我正在尝试将使用 Castle Windsor 制作的旧 NetFramwork 项目移至 netcore。我正在尝试用 Microsoft.Extensions.DependencyInjection 包替换此 nuget 包,但我没有找到转换此代码的等效项:
container.Register(Component.For<IInterface1>>().ImplementedBy<Class1>().Named(nameof(v1)));
container.Register(Component.For<IInterface1>>().ImplementedBy<Class2>().Named(nameof(v2)));
并解决全部使用:
kernel.ResolveAll(IInterface1);
有没有办法使用 IServiceProvider 来做到这一点?
.GetServices<TService>()
IServiceProvider
IEnumerable<IInterface1> variable = service.GetServices<IInterface1>().