Exemplo n.º 1
0
        public static IIterable <TResult> Process <TSource, TResult>(this IIterable <TSource> source, Iterator.ProcessingAction <TSource, TResult> processingAction)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (processingAction == null)
            {
                throw new ArgumentNullException("processingFunc");
            }

            var linkIterable = source as ILinkIterable <TSource>;

            if (linkIterable != null)
            {
                return(linkIterable.Process(processingAction));
            }
            return(new LinkIterable <TSource, TResult>(source, Iterator.Process <TSource, TResult>(processingAction)));
        }
Exemplo n.º 2
0
 public ILinkIterable <TNewResult> Process <TNewResult>(Iterator.ProcessingAction <TResult, TNewResult> processingAction)
 {
     return(new LinkIterable <TSource, TNewResult>(iterable, Iterator.Process(this.link, processingAction)));
 }