/// <summary> /// Invokes a method when all handling at this point is done /// </summary> /// <typeparam name="TMessageType"> /// The message type /// </typeparam> /// <param name="builder">The action builder</param> /// <param name="finallyFunc">The method</param> /// <returns>A builder</returns> public static IActionDecoratorBuilder <TMessageType> Finally <TMessageType>(this IActionDecoratorBuilder <TMessageType> builder, Func <TMessageType, Task> finallyFunc) { if (finallyFunc == null) { throw new ArgumentNullException(nameof(finallyFunc)); } return(builder.Finally((message, token, exception) => finallyFunc(message))); }
/// <summary> /// Invokes a method when all handling at this point is done /// </summary> /// <typeparam name="TMessageType"> /// The message type /// </typeparam> /// <param name="builder">The action builder</param> /// <param name="finallyAction">The method</param> /// <returns>A builder</returns> public static IActionDecoratorBuilder <TMessageType> Finally <TMessageType>(this IActionDecoratorBuilder <TMessageType> builder, Action <TMessageType> finallyAction) { if (finallyAction == null) { throw new ArgumentNullException(nameof(finallyAction)); } return(builder.Finally( (message, token, exception) => { finallyAction(message); return Task.CompletedTask; })); }