App.xaml.cs
(完整代码) 1KBusing Microsoft.Extensions.DependencyInjection;
using MyApp.Services;
using System;
using System.Windows;
namespace MyApp
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
/// <summary>
/// The `IServiceProvider` instance to resolve application services.
/// </summary>
public IServiceProvider ServiceProvider { get; private set; }
public App()
{
IServiceCollection services = CollectAllServices();
ServiceProvider = services.BuildServiceProvider();
}
/// <summary>
/// Gets the current <see cref="App"/> instance in use
/// </summary>
public static new App Current => (App)Application.Current;
private static IServiceCollection CollectAllServices()
{
return new ServiceCollection()
.AddSingleton<IDataService, XmlDataService>()
.AddSingleton<IOrderService, MockOrderService>()
.AddSingleton<MainWindow>()
.AddSingleton<MainWindowViewModel>();
}
protected override void OnStartup(StartupEventArgs args)
{
MainWindow wnd = ServiceProvider.GetRequiredService<MainWindow>();
wnd.Show();
base.OnStartup(args);
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
