更新时间:2023-02-15 23:29:00
这很简单,使用 Replace(IServiceCollection, ServiceDescriptor)
方法来自 ServiceCollectionDescriptorExtensions
类.
This is simple using the Replace(IServiceCollection, ServiceDescriptor)
method from the ServiceCollectionDescriptorExtensions
class.
// IFoo -> FooA
services.AddTransient<IFoo, FooA>();
// Replace
// IFoo -> FooB
var descriptor =
new ServiceDescriptor(
typeof(IFoo),
typeof(FooB),
ServiceLifetime.Transient);
services.Replace(descriptor);
另见: