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:
代码地址:https://gitee.com/dlgcy/DLGCY_WPFPractice/tree/Blog20230108
与 ChatGPT 的交谈
1、构造函数注入:
2、属性注入:
3、方法注入:
参考文章:
1、[.NET Core 3.0 中 WPF 使用 IOC 的图文教程](https://www.jb51.net/article/164134.htm)
2、ChatGPT
原创文章,转载请注明: 转载自 独立观察员
本文链接地址: WPF 依赖注入之 Microsoft.Extensions.DependencyInjection [http://dlgcy.com/wpf-dependency-injection/]
标签:依赖,C#,App,三种,服务提供者,services,构造函数,public,注入 From: https://www.cnblogs.com/cnhk19/p/17741060.html