Why does foreach fail to find my GetEnumerator extension method?

前端 未结 8 1970
暗喜
暗喜 2021-02-18 21:19

I\'m trying to make some code more readable. For Example foreach(var row in table) {...} rather than foreach(DataRow row in table.Rows) {...}.

8条回答
  •  太阳男子
    2021-02-18 21:51

    Your extension is equivalent to:

        public static IEnumerable GetEnumerator( this DataTable tbl ) {
            foreach ( TDataRow r in tbl.Rows ) yield return r;
        }
    

    GetEnumerator is not the same method as GetEnumerator

    This will work better:

        public static IEnumerable GetEnumerator( this DataTable tbl ) {
            foreach (DataRow r in tbl.Rows ) yield return r;
        }
    

提交回复
热议问题