Реализация интерфейсов IEnumerable и IEnumerator для перебора статей - C#
Формулировка задачи:
В классе Magazine:
реализовать интерфейс System.Collections.IEnumerable для перебора статей (объектов типа Article), авторы которых не входят в список редакторов журнала (объектов типа Person); для этого определить вспомогательный класс MagazineEnumerator, реализующий интерфейс System.Collections.IEnumerator.
Это в классе Magazine нужно, например определить:
Создать класс опо этому шаблону:
Так?
Вот только я не пойму как использовать вспомогательный класс в Magazine??
public IEnumerable GetAuth()
{
yield return <статья>;
}class CMagazineEnumerator : IEnumerable, IEnumerator
{
int[] ints = { 12, 13, 1, 4 };
int index = -1;
// Реализуем интерфейс IEnumerable
public IEnumerator GetEnumerator()
{
return this;
}
// Реализуем интерфейс IEnumerator
public bool MoveNext()
{
if (index == ints.Length - 1)
{
Reset();
return false;
}
index++;
return true;
}
public void Reset()
{
index = -1;
}
public object Current
{
get
{
return ints[index];
}
}
}Решение задачи: «Реализация интерфейсов IEnumerable и IEnumerator для перебора статей»
textual
Листинг программы
public bool MoveNext()
{
while (++index < magazine.Article.Count && IsEditor(magazine.Article[index].Author));
return index < magazine.Article.Count;
}