using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using MyAvaloniaApp.Services; using MyAvaloniaApp.ViewModels; using ReactiveUI; using Splat; using System; namespace MyAvaloniaApp.Extensions; /// /// 服务集合扩展方法 /// public static class ServiceCollectionExtensions { /// /// 添加 ReactiveUI 相关服务 /// /// 服务集合 /// 服务集合 public static IServiceCollection AddReactiveUI(this IServiceCollection services) { // 注册 ReactiveUI 相关服务 services.AddSingleton(); return services; } /// /// 添加业务服务 /// /// 服务集合 /// 服务集合 public static IServiceCollection AddBusinessServices(this IServiceCollection services) { // 注册业务服务 services.AddTransient(); services.AddTransient(); // 注册资源服务 services.AddSingleton(); return services; } /// /// 添加 ViewModel 服务 /// /// 服务集合 /// 服务集合 public static IServiceCollection AddViewModels(this IServiceCollection services) { // 注册 ViewModel services.AddTransient(); return services; } }