using System.Collections;
using System.Collections.Generic;
public class AlbumList : IEnumerable<Album>
{
private List<Album> Albums = new List<Album>();
public int Count { get { return Albums.Count; } }
public IEnumerator<Album> GetEnumerator()
{
return this.Albums.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
}
или упрощенная версия:
public class AlbumList
{
private List<Album> Albums = new List<Album>();
public int Count { get { return Albums.Count; } }
public IEnumerator<Album> GetEnumerator()
{
return this.Albums.GetEnumerator();
}
}
Я бы не советовал исключать интерфейс IEnumerable<T>
, потому что вы теряете интеграцию с .NET, например, возможности использовать LINQ, но вы можете перебирать коллекцию, используя foreach
в C #.
Или этот еще короче: -)
public class AlbumList : List<Album>
{
}
Конечно, последний является изменяемым списком, что, возможно, не совсем то, что вы хотите.