【发布时间】:2021-02-14 14:35:25
【问题描述】:
不是以下问题中提到的解决方案。
Dependency Injection in .NET Core 3.0 for WPF
而是通过在csproj文件中添加<EnableDefaultApplicationDefinition>false</EnableDefaultApplicationDefinition>来防止App.xaml自动生成Main方法,从而达到类似ASP.NET core的依赖注入的效果。
看过一段非常漂亮的代码,通过IServiceProvider获取一个App实例调用Application.Run(),但是现在想不起来了,也想不起来原代码的出处. 任何人都可以帮忙吗?非常感谢。
我目前的代码如下。
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
class Program
{
[STAThread]
public static void Main()
{
Host.CreateDefaultBuilder()
.ConfigureServices(ConfigureServices)
.Build()
.Run();
}
private static void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<App>();
services.AddSingleton<MainWindow>();
}
}
我需要获取 App 类的实例来调用 Application.Run()。
【问题讨论】:
标签: c# wpf dependency-injection