Task InnerInvoke(IncomingContext context, int currentIndex = 0) { if (currentIndex == executingElements.Count) { return(Task.CompletedTask); } ILinkElement step = executingElements[currentIndex]; return(step.Invoke(context, () => InnerInvoke(context, currentIndex + 1))); }
Task InnerInvoke(TransportMessage transportMessage, int currentIndex = 0) { if (currentIndex == linkElements.Count) { return(Task.CompletedTask); } ILinkElement step = linkElements[currentIndex]; return(step.Invoke(transportMessage, () => InnerInvoke(transportMessage, currentIndex + 1))); }