.NET 在控制台或者桌面程序中使用依赖注入

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;
    }
}

然后就可以愉快的编程了。

相关推荐
沃尔威武8 小时前
数据库 Sinks(.net8)
数据库·.net·webview
大尚来也12 小时前
告别“字符串拼接”:在.NET中用LINQ重塑数据查询
.net·solr·linq
无风听海18 小时前
.NET10之Record 深度解析
.net
CodeCraft Studio20 小时前
LightningChart .NET v12.5.1 发布:高性能数据可视化再升级,赋能工业与实时数据场景
信息可视化·.net·gpu·数据可视化·lightningchart·高性能图表开发·数据可视化引擎
CyL_Cly20 小时前
.net framework 3.5下载( 2.0-4.8大全 )
.net
海盗123420 小时前
OxyPlot 在 WPF 中的使用
.net·wpf
csdn_aspnet21 小时前
.Net 解决 Web API 中的“服务器响应状态码为 405(方法不允许)”错误
服务器·.net·webapi
步步为营DotNet21 小时前
探索.NET 11 中.NET Aspire 在云原生应用可观测性与安全的深度融合
安全·云原生·.net
步步为营DotNet1 天前
探究.NET 11 中 Semantic Kernel 在 AI 驱动后端开发的前沿应用
人工智能·.net
van久1 天前
Day9 全套:.NET 8 配置系统 + 日志(Serilog)
.net