Перечислитель для класса, составляющего Список
Я имею:
public class MyList : IEnumerable<MyItem>, IEnumerable
{
private List<MyItem> list = new List<MyItem>();
IEnumerator IEnumerable.GetEnumerator() { ??? }
IEnumerator<MyItem> IEnumerable<MyItem>.GetEnumerator() { ??? }
}
Как реализовать эти перечислители с помощью перечислителей списков?
1 ответ
Решение
Не делайте ваш общий IEnumerable из MyItem явным:
public class MyList : IEnumerable<MyItem>, IEnumerable
{
private List<MyItem> list = new List<MyItem>();
public IEnumerator<MyItem> GetEnumerator() => list.GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}