예제 #1
0
        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)));
        }
예제 #2
0
파일: Chain.cs 프로젝트: sonbua/async-dolls
        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)));
        }