C# 依赖注入的三种方式

NuGet 包:

 

添加业务需要的接口及实现类:

 

在 App 中声明服务提供者对象,以及添加服务等:

 

核心代码:

/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : Application
{
    /// <summary>
    /// 服务提供者
    /// </summary>
    public static IServiceProvider ServiceProvider { get; private set; }

    public App()
    {
        IServiceCollection services = new ServiceCollection();
        //注入服务;
        services.AddSingleton<ITextService, TextService>();

        IServiceProvider serviceProvider = services.BuildServiceProvider();
        App.ServiceProvider = serviceProvider; //便于全局使用;
    }
}

 

方式一、通过构造函数注入并获取

 

方式二、主动从容器中获取

 

测试 Demo:

 

代码地址:

 

ChatGPT 的交谈

1、构造函数注入:

 

2、属性注入:

 

3、方法注入:

 

参考文章:

1、[.NET Core 3.0 中 WPF 使用 IOC 的图文教程]()

2、ChatGPT

 

原创文章,转载请注明: 转载自 独立观察员

本文链接地址: WPF 依赖注入之 Microsoft.Extensions.DependencyInjection [http://dlgcy.com/wpf-dependency-injection/]

posted @ 2023-10-03 13:40  CNHK19  阅读(528)  评论(0编辑  收藏  举报