public static IEnumerable <T> BuildEnumerable <T>( Func <bool> moveNext, Func <T> current) { var po = new ChoEnumeratorWrapperInternal <T>(moveNext, current); foreach (var s in po) { yield return(s); } }
public static IEnumerable <T> BuildEnumerable <T>( Func <bool> moveNext, Func <T> current, Action dispose = null) { var po = new ChoEnumeratorWrapperInternal <T>(moveNext, current); foreach (var s in po) { yield return(s); } dispose?.Invoke(); }