<PackageReference Include="Azure.Core" Version="1.44.1" />

Pageable<T>

public abstract class Pageable<T> : IEnumerable<T>, IEnumerable
A collection of values that may take multiple service requests to iterate over.
using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Runtime.CompilerServices; using System.Threading; namespace Azure { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public abstract class Pageable<T> : IEnumerable<T>, IEnumerable { [System.Runtime.CompilerServices.Nullable(new byte[] { 0, 1 })] private class StaticPageable : Pageable<T> { private readonly IEnumerable<Page<T>> _pages; public StaticPageable(IEnumerable<Page<T>> pages) { _pages = pages; } public override IEnumerable<Page<T>> AsPages([System.Runtime.CompilerServices.Nullable(2)] string continuationToken = null, int? pageSizeHint = default(int?)) { bool shouldReturnPages = continuationToken == null; foreach (Page<T> page in this._pages) { if (shouldReturnPages) yield return page; else if (continuationToken == page.ContinuationToken) { shouldReturnPages = true; } } } } protected virtual CancellationToken CancellationToken { get; } protected Pageable() { CancellationToken = CancellationToken.None; } protected Pageable(CancellationToken cancellationToken) { CancellationToken = cancellationToken; } public abstract IEnumerable<Page<T>> AsPages([System.Runtime.CompilerServices.Nullable(2)] string continuationToken = null, int? pageSizeHint = default(int?)); [System.Runtime.CompilerServices.NullableContext(2)] [EditorBrowsable(EditorBrowsableState.Never)] public override string ToString() { return base.ToString(); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } public virtual IEnumerator<T> GetEnumerator() { foreach (Page<T> item in this.AsPages((string)null, (int?)null)) { foreach (T item2 in (IEnumerable<T>)item.Values) { yield return item2; } } } public static Pageable<T> FromPages(IEnumerable<Page<T>> pages) { return new StaticPageable(pages); } [System.Runtime.CompilerServices.NullableContext(2)] [EditorBrowsable(EditorBrowsableState.Never)] public override bool Equals(object obj) { return base.Equals(obj); } [EditorBrowsable(EditorBrowsableState.Never)] public override int GetHashCode() { return base.GetHashCode(); } } }