关于迭代器 有些看不明白,请老师、高手帮忙指点迷津,谢谢。
书中说:如果要创建一个泛型迭代器,往往需要实现IEnumerable 和IEnumerable<T>接口的GetEnumerator()方法。
问题1:既然实现了IEnumerable<T>接口,为什么还要实现非泛型IEnumerable的接口?
问题2:既然要实现两个接口,为什么在书中P217页,“public class MyIterator<T>:IEnumerable<T>”为什么不继承IEnumerable接口,而是在P218页使用了一个很看不懂的实现该接口的方法。(“IEnumerator IEnumerable.GetEnumerator(){return GetEnumerator();}”)
这个实现不是自身对自身的调用吗?并没有具体的方法体呀。 |