From 6b30269de969bdd2510183a57d407fe86cf19c2f Mon Sep 17 00:00:00 2001 From: hishitetsu <66369541+hishitetsu@users.noreply.github.com> Date: Sat, 20 Jan 2024 12:13:41 +0900 Subject: [PATCH] Update DispatcherQueueExtensions.cs --- .../Extensions/DispatcherQueueExtensions.cs | 52 ++++++++++++------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/src/Files.App/Extensions/DispatcherQueueExtensions.cs b/src/Files.App/Extensions/DispatcherQueueExtensions.cs index 43ec7099c805..e6a85fe922cb 100644 --- a/src/Files.App/Extensions/DispatcherQueueExtensions.cs +++ b/src/Files.App/Extensions/DispatcherQueueExtensions.cs @@ -10,37 +10,49 @@ public static class DispatcherQueueExtensions { public static Task EnqueueOrInvokeAsync(this DispatcherQueue? dispatcher, Func function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal) { - if (dispatcher is not null) - return dispatcher.EnqueueAsync(function, priority); - else - return SafetyExtensions.IgnoreExceptions(function, App.Logger, typeof(COMException)); + return SafetyExtensions.IgnoreExceptions(() => + { + if (dispatcher is not null) + return dispatcher.EnqueueAsync(function, priority); + else + return function(); + }, App.Logger, typeof(COMException)); } - public static Task EnqueueOrInvokeAsync(this DispatcherQueue? dispatcher, Func> function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal) + public static Task EnqueueOrInvokeAsync(this DispatcherQueue? dispatcher, Func> function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal) { - if (dispatcher is not null) - return dispatcher.EnqueueAsync(function, priority); - else - return SafetyExtensions.IgnoreExceptions(function, App.Logger, typeof(COMException)); + return SafetyExtensions.IgnoreExceptions(() => + { + if (dispatcher is not null) + return dispatcher.EnqueueAsync(function, priority); + else + return function(); + }, App.Logger, typeof(COMException)); } public static Task EnqueueOrInvokeAsync(this DispatcherQueue? dispatcher, Action function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal) { - if (dispatcher is not null) - return dispatcher.EnqueueAsync(function, priority); - else + return SafetyExtensions.IgnoreExceptions(() => { - SafetyExtensions.IgnoreExceptions(function, App.Logger, typeof(COMException)); - return Task.CompletedTask; - } + if (dispatcher is not null) + return dispatcher.EnqueueAsync(function, priority); + else + { + function(); + return Task.CompletedTask; + } + }, App.Logger, typeof(COMException)); } - public static Task EnqueueOrInvokeAsync(this DispatcherQueue? dispatcher, Func function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal) + public static Task EnqueueOrInvokeAsync(this DispatcherQueue? dispatcher, Func function, DispatcherQueuePriority priority = DispatcherQueuePriority.Normal) { - if (dispatcher is not null) - return dispatcher.EnqueueAsync(function, priority); - else - return Task.FromResult(SafetyExtensions.IgnoreExceptions(function, App.Logger, typeof(COMException))); + return SafetyExtensions.IgnoreExceptions(() => + { + if (dispatcher is not null) + return dispatcher.EnqueueAsync(function, priority); + else + return Task.FromResult(function()); + }, App.Logger, typeof(COMException)); } }