示例#1
0
        public static IIterable <TResult> Process <TSource, TResult>(this IIterable <TSource> source, Iterator.ProcessingFunc <TSource, TResult> processingFunc)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (processingFunc == null)
            {
                throw new ArgumentNullException("processingFunc");
            }

            var linkIterable = source as ILinkIterable <TSource>;

            if (linkIterable != null)
            {
                return(linkIterable.Process(processingFunc));
            }
            return(new LinkIterable <TSource, TResult>(source, Iterator.Process <TSource, TResult>(processingFunc)));
        }
示例#2
0
 public ILinkIterable <TNewResult> Process <TNewResult>(Iterator.ProcessingFunc <TResult, TNewResult> processingFunc)
 {
     return(new LinkIterable <TSource, TNewResult>(iterable, Iterator.Process(this.link, processingFunc)));
 }