public class Car { public string PetName; public int Speed; public Car(string name, int currentSpeed) { PetName = name; Speed = currentSpeed; } public Car() { } } public class CarCollection<T> : IEnumerable<T> where T : Car { private List<T> Tcars = new List<T>(); //添加 public void AddCar(T t) { Tcars.Add(t); } //获取其中一个 public T GetCar(int pos) { return Tcars[pos]; } public int Count() { return Tcars.Count; } #region IEnumerable<T> 成员 public IEnumerator<T> GetEnumerator() { return Tcars.GetEnumerator(); } #endregion #region IEnumerable 成员 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return Tcars.GetEnumerator(); } #endregion }