Ejemplo n.º 1
0
        private static IEnumerable <T> AttachProcessInternal <T>(this IEnumerable <T> input, ISetMaxProgressContext progress, string preText, int step)
        {
            preText = string.IsNullOrWhiteSpace(preText) ? "" : preText + " ";

            var progressCount = step;

            foreach (var element in input)
            {
                yield return(element);

                progress?.ReportProgress($"{preText}{progressCount}/{progress.MaxValue}", progressCount);
                progressCount += step;
            }
        }
Ejemplo n.º 2
0
 public static IEnumerable <T> AttachProgress <T>(this IEnumerable <T> input, ISetMaxProgressContext progress) =>
 input.AttachProgress(progress, string.Empty, 1);
Ejemplo n.º 3
0
 public static IEnumerable <T> AttachProgress <T>(this IEnumerable <T> input, ISetMaxProgressContext progress, string preText, int step)
 {
     return(progress == null ? input : input.AttachProcessInternal(progress, preText, step));
 }