如何实现IEnumerable接口的方法< &GT ;?

时间:2014-10-20 20:27:38

标签: c#

如果我有这段代码:

public class Pilota < T > {
  public T Current {
    get;
    set;
  }
  private T NamePilota {
    get;
    set;
  }
  private T SurNamePilota {
    get;
    set;
  }
  public List < T > pilota;
  public Pilota(int NumberPilota) {
    pilota = (new T[NumberPilota]).ToList();

  }
  public void Add(T name) {
    pilota.Add(name);

  }
}

如何实现界面的方法?我需要因为我想使用Foreach循环。

我应该创建MoveNext,Reset和Current吗?但我该怎么做?

1 个答案:

答案 0 :(得分:0)

使这扩展了&#34; IEnumerable&#34;接口并覆盖&#34; GetEnumerator&#34;使用yield关键字的方法:

public IEnumerable<T> GetEnumerator() {
    foreach (T elem in pilota) yield return elem;
}
IEnumerator IEnumerable.GetEnumerator() {
    return GetEnumerator();
}