diff --git a/src/SharpIDE.Application/Features/Events/EventWrapper.cs b/src/SharpIDE.Application/Features/Events/EventWrapper.cs index a84d7c7..cde0623 100644 --- a/src/SharpIDE.Application/Features/Events/EventWrapper.cs +++ b/src/SharpIDE.Application/Features/Events/EventWrapper.cs @@ -27,3 +27,12 @@ public class EventWrapper(Func @ev await InvokeDelegatesAsync(Event.GetInvocationList(), del => ((Func)del)(arg, arg2)); } } + +public class EventWrapper(Func @event) : EventWrapperBase>(@event) where TReturn : Task +{ + public void InvokeParallelFireAndForget(TArg1 arg1, TArg2 arg2, TArg3 arg3) => FireAndForget(() => InvokeParallelAsync(arg1, arg2, arg3)); + public async Task InvokeParallelAsync(TArg1 arg, TArg2 arg2, TArg3 arg3) + { + await InvokeDelegatesAsync(Event.GetInvocationList(), del => ((Func)del)(arg, arg2, arg3)); + } +}