| File: Primitives\ItemDelegateList.cs | Web Access |
| Project: src\src\Core\src\Core.csproj (Microsoft.Maui) |
using System; using System.Collections; using System.Collections.Generic; namespace Microsoft.Maui { public class ItemDelegateList<T> : IReadOnlyList<T> { public ItemDelegateList(IItemDelegate<T> itemDelegate) { ItemDelegate = itemDelegate; } public T this[int index] => ItemDelegate.GetItem(index); public int Count => ItemDelegate.GetCount(); public IItemDelegate<T> ItemDelegate { get; } public IEnumerator<T> GetEnumerator() { var count = ItemDelegate.GetCount(); for (var i = 0; i < count; i++) yield return ItemDelegate.GetItem(i); } IEnumerator IEnumerable.GetEnumerator() { var count = ItemDelegate.GetCount(); for (var i = 0; i < count; i++) yield return ItemDelegate.GetItem(i); } } }