帮忙看看是什么错误啊

love_4023 2011-08-29 11:09:10

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>”。
要怎么修改啊?
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
奥数题 2011-08-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 love_4023 的回复:]
是我注释掉的那部分出现问题了,这个代码是我下的,注释的那部分全是错误,不知道怎么修改了。
[/Quote]
如上去所说:
直接把注释的那部分先换成:
IEnumerator IEnumerable.GetEnumerator()
{
throw new NotImplementedException();
}
love_4023 2011-08-29
  • 打赏
  • 举报
回复
是我注释掉的那部分出现问题了,这个代码是我下的,注释的那部分全是错误,不知道怎么修改了。
zhujiazhi 2011-08-29
  • 打赏
  • 举报
回复
如果要继承自接口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
LMAOhuaNL 2011-08-29
  • 打赏
  • 举报
回复
继承接口得实现接口里面的所有方法,不知道你是否是这样做的
love_4023 2011-08-29
  • 打赏
  • 举报
回复
分不多,谢谢大家了。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧