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后就好了。
迷惑中.....