Add extra EventWrapper arity

This commit is contained in:
Matt Parker
2026-01-31 15:19:48 +10:00
parent 826fc851c3
commit 934c75ece9

View File

@@ -27,3 +27,12 @@ public class EventWrapper<TArg1, TArg2, TReturn>(Func<TArg1, TArg2, TReturn> @ev
await InvokeDelegatesAsync(Event.GetInvocationList(), del => ((Func<TArg1, TArg2, TReturn>)del)(arg, arg2));
}
}
public class EventWrapper<TArg1, TArg2, TArg3, TReturn>(Func<TArg1, TArg2, TArg3, TReturn> @event) : EventWrapperBase<Func<TArg1, TArg2, TArg3, TReturn>>(@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<TArg1, TArg2, TArg3, TReturn>)del)(arg, arg2, arg3));
}
}