public class Models<T> : CollectionBase, IEnumerable<T>, IEnumerable where T : IModel
    {
        //[DataMember]
        private List<T> modelsdeleted;        public Models()
        {
            this.modelsdeleted = new List<T>();
        }        public void AcceptChanges()
        {
            for (int i = 0; i < base.List.Count; i++)
            {
                this[i].AcceptChanges();
            }
            this.DeletedList.Clear();
        }        public void Add(T model)
        {
            model.ModelState = Constant.State.Added;
            base.List.Add(model);
        }        public void Clear()
        {
            this.modelsdeleted.Clear();
            base.List.Clear();
            base.Clear();
        }        //public IEnumerator<T> GetEnumerator()
        //{
        //    <GetEnumerator>d__2<T> d__ = new <GetEnumerator>d__2<T>(0);
        //    d__.<>4__this = (Models<T>) this;
        //    return d__;
        //}        public bool Haschange()
        {
            return ((this.DeletedList.Count > 0) || (this.Where<T>(delegate (T model) {
                return (model.ModelState != Constant.State.Unchanged);
            }).Count<T>() > 0));
        }        public void Insert(int index, T model)
        {
            model.ModelState = Constant.State.Added;
            base.List.Insert(index, model);
        }        protected override void OnRemove(int index, object value)
        {
            base.OnRemove(index, value);
        }        public void Remove(T model)
        {
            base.List.Remove(model);
        }        public IList<T> DeletedList
        {
            get
            {
                return this.modelsdeleted;
            }
        }        public T this[int Index]
        {
            get
            {
                return (T) base.List[Index];
            }
            set
            {
                base.List[Index] = value;
            }
        }
    }错误说是:“ServerOnline.myCls.OLModel.Models<T>”不实现接口成员“System.Collections.Generic.IEnumerable<T>.GetEnumerator()”。“System.Collections.CollectionBase.GetEnumerator()”无法实现“System.Collections.Generic.IEnumerable<T>.GetEnumerator()”,因为它没有匹配的返回类型“System.Collections.Generic.IEnumerator<T>”。
要怎么修改啊?

解决方案 »

  1.   

    如果要继承自接口IEnumerable<T>,则必须实现它的方法#region IEnumerable<T> 成员        public IEnumerator<T> GetEnumerator()
            {
                throw new NotImplementedException();
            }        #endregion        #region IEnumerable 成员        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
            {
                throw new NotImplementedException();
            }        #endregion
      

  2.   

    如上去所说:
    直接把注释的那部分先换成:
     IEnumerator IEnumerable.GetEnumerator()
            {
                throw new NotImplementedException();
            }