Dasync.Collections.AsyncEnumeratorWithState<TItem, TState>
public class AsyncEnumeratorWithState<TItem, TState> : CurrentValueContainer<TItem>, IAsyncEnumerator, IDisposable, IAsyncDisposable, IAsyncEnumerator<TItem>
Helps to enumerate items in a collection asynchronously.
Provides exactly the same functionality as AsyncEnumerator<T>,
but allows to pass a user state object in the enumeration function,
what can be used for performance optimization.
namespace Dasync.Collections
{
public class AsyncEnumeratorWithState<TItem, TState> : CurrentValueContainer<TItem>, IAsyncEnumerator, IDisposable, IAsyncDisposable, IAsyncEnumerator<TItem>
{
protected TState State { get; }
public virtual TItem Current { get; }
public bool IsEnumerationComplete { get; }
public AsyncEnumeratorWithState(Func<AsyncEnumerator<TItem>.Yield, TState, Task> enumerationFunction, TState state, Action<TState> onDispose = null);
public virtual ValueTask<bool> MoveNextAsync();
public void Dispose();
public ValueTask DisposeAsync();
protected virtual void Dispose(bool manualDispose);
}
}