public ProcessIterator(IIteratorLink <TSource, TIntermediate> source, ProcessingFunc <TIntermediate, TResult> processingFunc) : base(source) { if (processingFunc == null) { throw new ArgumentNullException("processingFunc"); } this.processingFunc = processingFunc; }
public static IIteratorLink <TSource, TResult> Process <TSource, TIntermediate, TResult>(this IIteratorLink <TSource, TIntermediate> source, ProcessingFunc <TIntermediate, TResult> processingFunc) { return(new ProcessIterator <TSource, TIntermediate, TResult>(source, processingFunc)); }
public static IIteratorLink <TSource, TResult> Process <TSource, TResult>(ProcessingFunc <TSource, TResult> processingFunc) { return(Process <TSource, TSource, TResult>(null, processingFunc)); }