using System.Collections; namespace Profiles { abstract class IList : IEnumerable { protected T[] list; public int Length { get { return list.Length; } } public T this[int index] { get { return list[index]; } } public IList() { this.list = new T[0]; } public abstract void Add(T item); public abstract void Remove(T item); public abstract T SearchByName(string name); public void Clear() { list = new T[0]; } public IEnumerator GetEnumerator() { return ((IEnumerable)list).GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return list.GetEnumerator(); } } }