【发布时间】:2010-07-06 19:56:19
【问题描述】:
我注意到 IEnumerable (Generics) 需要实现 2 个方法:
1. IEnumerator<T> GetEnumerator()
2。 IEnumerable.GetEnumerator()方法
(http://msdn.microsoft.com/en-us/library/19e6zeyy.aspx)
什么是#2,我应该如何定义/实现?
从我玩弄一些代码来看,似乎 IEnumerator GetEnumerator() 在 foreach 循环中被调用。 #2 IEnumerable.GetEnumerator 在哪里发挥作用?
我正在阅读 Oreilly 的 C# 3.0 Cookbook 中的配方 6.1 在泛型类型上创建迭代器,但由于未实现 #2(它未包含在配方代码中)而出现错误。
谢谢!
【问题讨论】:
-
哇。你们真棒!感谢您的帮助。是的,我所做的是在非泛型方法中返回 GetEnumerator()。