namespace System.Data
public static class MyExtensions
public static IEnumerable<DataRow> GetEnumerator( this DataTable table )
foreach ( DataRow r in table.Rows ) yield return r;
foreach(DataRow row in table.GetEnumerator())
.....
foreach
中的对象集合必须实现foreach
或System.Collections.IEnumerable
。如果您非常希望启用此功能,则可以创建一个包装类,该包装类实现System.Collections.IEnumerable
并具有指向您的指针System.Collections.Generic.IEnumerable<T>
。另外,您可以在新类中继承System.Collections.Generic.IEnumerable<T>
并实现IEnumerable
。
以上是关于foreach为什么找不到我的GetEnumerator扩展方法?的主要内容,如果未能解决你的问题,请参考以下文章
使用 foreach 进行并行处理时出错:“找不到函数“%dopar%””
用<forEach>遍历list集合时,提示我找不到对象的属性
$Files 中的 PowerShell ForEach $file
c:forEach 抛出 javax.el.PropertyNotFoundException:在 java.lang.String 类型上找不到属性 'foo'