如果我有这段代码:
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吗?但我该怎么做?
答案 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();
}