1.下载Microsoft.Extensions.DependencyInjection包(具体根据自身项目的版本对应去选择)
我这里选择的是.net80版的
2.在Main函数里面写如下代码
// 配置依赖注入容器
csharp
var services = new ServiceCollection();
ConfigureServices(services);
csharp
private static void ConfigureServices(IServiceCollection services)
{
// 添加 HttpClientFactory
services.AddHttpClient();
// 添加主窗体
services.AddTransient<TestForm2>();
}
3.在使用的地方取你想要的类型的实例
csharp
// 构建服务提供者
var serviceProvider = services.BuildServiceProvider();
// 获取主窗体实例并运行
var runForm = serviceProvider.GetRequiredService<TestForm2>();
Application.Run(runForm);
4.在你使用的类型里面可以使用依赖注入:
csharp
public partial class TestForm2 : Form
{
private readonly IHttpClientFactory _httpClientFactory;
public TestForm2(
IHttpClientFactory httpClientFactory
)
{
InitializeComponent();
_httpClientFactory = httpClientFactory;
}
}
然后就可以愉快的编程了。