是的,C# 的 IServiceProvider
接口支持依赖注入。IServiceProvider
是 .NET Core 和 .NET Framework 中用于实现依赖注入的核心接口之一。它允许你在应用程序中注册和解析依赖项。
要使用 IServiceProvider
进行依赖注入,你需要遵循以下步骤:
ServiceCollection
类来注册服务并创建服务提供者实例。var serviceCollection = new ServiceCollection();
AddTransient
、AddScoped
或 AddSingleton
方法来注册不同类型的服务。serviceCollection.AddTransient<IMyService, MyServiceImpl>();
serviceCollection.AddScoped<IRepository, RepositoryImpl>();
serviceCollection.AddSingleton<IConfiguration, ConfigurationImpl>();
IServiceProvider
实例的 GetService
方法来解析依赖项。var serviceProvider = serviceCollection.BuildServiceProvider();
var myService = serviceProvider.GetService<IMyService>();
var repository = serviceProvider.GetService<IRepository>();
var configuration = serviceProvider.GetService<IConfiguration>();
通过这种方式,你可以在应用程序中使用 IServiceProvider
接口来实现依赖注入,从而提高代码的可测试性和可维护性。