System.Collections.Async.AsyncEnumerableWithState<TItem, TState>
public class AsyncEnumerableWithState<TItem, TState> : AsyncEnumerable, IAsyncEnumerable<TItem>, IAsyncEnumerable
Similar to AsyncEnumerable<T>, but allows you to pass a state object into the enumeration function, what can be
used for performance optimization, so don't have to create a delegate on the fly every single time you create the enumerator.
namespace System.Collections.Async
{
public class AsyncEnumerableWithState<TItem, TState> : AsyncEnumerable, IAsyncEnumerable<TItem>, IAsyncEnumerable
{
protected TState State { get; }
public AsyncEnumerableWithState(Func<AsyncEnumerator<TItem>.Yield, TState, Task> enumerationFunction, TState state);
public virtual Task<IAsyncEnumerator<TItem>> GetAsyncEnumeratorAsync(CancellationToken cancellationToken = default(CancellationToken));
}
}