错误 1 “HB_NetWork.Generics.MyList<ConsoleApplication1.Person>”不包含“GetEnumerator”的公共定义,因此 foreach 语句不能作用于“HB_NetWork.Generics.MyList<ConsoleApplication1.Person>”类型的变量 C:\Documents and Settings\Administrator\桌面\ConsoleApplication1\ConsoleApplication1\Program.cs 18 13 ConsoleApplication1自己写了一个  MyList<T> 用foreach循环的时候 报这个错

解决方案 »

  1.   

    GetEnumerator  他有个返回值 必须是 IEnumerator; 借口对象。IEnumerator 对象有两个方法你要实现, 还有个属性...你实现下就好了...
      

  2.   

    使用 foreach 循环有条件的
    GetEnumerator 他有个返回值 必须是 IEnumerator; 借口对象。
    下面是你所使用foreach 循环 必须写的 (应该说你想创建自己的集合这两个都要写才对的 呵呵.??)在写个类继承:IEnumerator接口,
     然后有两个方法你要实现, 还有个属性...你实现下就好了...
      

  3.   

    class A
    {}
    class B :IEnumerator
    {
       int po=-1;
         A a;
       public b(A a)
    {
      this.a=a;
    }public bool MoveNext()
    {
      判断 是否还有元素,
      有返回true
    没有返回false;
    }  public void  Reset() {
            po=-1;
      }
        public  object Current{
         get{
                  return 返回当前的值就OK。
          }
     }
    }
      

  4.   

     IEnumerator 接口的全部属性,,  写的时候签名要一样。Current 属性 获取集合中的当前元素。 
    MoveNext(方法 返回一个bool值 存在为真 反之)  将枚举数推进到集合的下一个元素。  
    Reset (方法 无返回值)  将枚举数设置为其初始位置,该位置位于集合中第一个元素之前。