【发布时间】:2014-07-10 17:14:11
【问题描述】:
我正在尝试在 C# 中使用 yield mechanizmi:
public void ScanLoop( OnScanStatus statusCallback, int graphId = -1 ) {
foreach ( int it in _scanLoop( statusCallback, graphId ) ) {
}
}
public IEnumerator _scanLoop( OnScanStatus statusCallback, int graphId ) {
...
}
我在编译过程中得到的错误是:
错误 23 foreach 语句不能对类型变量进行操作 'System.Collections.IEnumerator' 因为 'System.Collections.IEnumerator' 不包含公共定义 对于'GetEnumerator'
谁能告诉我为什么?从我看到的IEnumerable 看来很奇怪是包含 GetEnumerator 的接口
【问题讨论】:
-
IEnumerable是包含GetEnumerator的接口。该方法返回IEnumerator的实例。
标签: c#