コード例 #1
0
        public static PolicyResult <TResult> RaiseResultSequenceOnExecuteAndCapture <TResult>(this ContextualPolicy <TResult> policy,
                                                                                              IDictionary <string, object> contextData,
                                                                                              IEnumerable <TResult> resultsToRaise)
        {
            var enumerator = resultsToRaise.GetEnumerator();

            return(policy.ExecuteAndCapture(() =>
            {
                if (!enumerator.MoveNext())
                {
                    throw new ArgumentOutOfRangeException("resultsToRaise", "Not enough TResult values in resultsToRaise.");
                }

                return enumerator.Current;
            }, contextData));
        }