在Collection继承IBindingList之后

class Class1Collection : CollectionBase, IBindingList
{
     public new IEnumerator GetEnumerator()
     {
           return new Class1CollectionEnumerator(this);
     }
     
     public class Class1CollectionEnumerator: IEnumerator
     {
           private IEnumerator enumerator;
           private IEnumerable enumerable;

           public Class1CollectionEnumerator(Class1Collection class1Collection )
           {
                this.enumerable = (IEnumerable)class1Collection;
                this.enumerator= this.enumerable.GetEnumerator();
           }

            .....
     }
      
      .....
         (implementation IBindingList)
      .....
}

当写成红色的那个IEnumerator时,又继承了IBindingList,将陷入死循环。
而把IEnumerator换成Class1CollectionEnumerator后就好了。

迷惑中.....
原文地址:https://www.cnblogs.com/huqingyu/p/315197.html