From 1ad9cb80ef39316af17ca39e31292580d8217619 Mon Sep 17 00:00:00 2001 From: Kevin Bost Date: Sat, 12 Oct 2024 21:29:46 -0700 Subject: [PATCH] Fixing client not implementable error in Avalonia template https://github.com/AvaloniaUI/Avalonia/issues/15736 --- Templates.csproj | 2 +- .../ServiceCollectionExtensions.cs | 13 +------------ 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/Templates.csproj b/Templates.csproj index d0db691..21c3829 100644 --- a/Templates.csproj +++ b/Templates.csproj @@ -2,7 +2,7 @@ Template - 1.7.2 + 1.7.3 Keboo.Dotnet.Templates Keboo's .NET Templates Keboo diff --git a/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/ServiceCollectionExtensions.cs b/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/ServiceCollectionExtensions.cs index a751ccc..6e503d4 100644 --- a/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/ServiceCollectionExtensions.cs +++ b/templates/Avalonia/AvaloniaSolution/SampleAvaloniaApplication/ServiceCollectionExtensions.cs @@ -20,7 +20,7 @@ public static void AddServices(this IServiceCollection services) private static void AddAvaloniaServices(this IServiceCollection services) { services.AddSingleton(_ => Dispatcher.UIThread); - services.AddSingleton(_ => Application.Current?.ApplicationLifetime ?? NoopApplicationLifetime.Instance); + services.AddSingleton(_ => Application.Current?.ApplicationLifetime ?? throw new InvalidOperationException("No application lifetime is set")); services.AddSingleton(sp => sp.GetRequiredService() switch @@ -49,15 +49,4 @@ private static void AddView(this IServiceCollection services) services.AddTransient(); services.AddTransient(); } - - private sealed class NoopApplicationLifetime : IDisposable, IApplicationLifetime - { - private static readonly Lazy _instance = new(() => new NoopApplicationLifetime()); - public static IApplicationLifetime Instance => _instance.Value; - - private NoopApplicationLifetime() - { } - - public void Dispose() { } - } }