浙林龙哥

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
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后就好了。

迷惑中.....
posted on 2006-01-11 12:52  浙林龙哥  阅读(562)  评论(0编辑  收藏  举报