我想了解IEnumerable集合。我有一个基本的WorkOrder类,我想为它创建一个集合类。IEnumerable类从列表集合类型转换
WorkOrder.cs
public class WorkOrder
{
public string WONumber { get; private set; }
public string WIP { get; private set; }
public WorkOrder()
{
WONumber = "384327";
WIP = "3483";
}
}
我已经开始集合类,但我在this.workorders.GetEnumerator()
得到一个错误。它告诉我它不能将列表转换为枚举器。
public class WorkOrderCollection : IEnumerable<WorkOrder>
{
private List<WorkOrder> workorders = new List<WorkOrder>();
public IEnumerable<WorkOrder> GetEnumerater()
{
return this.workorders.GetEnumerator();
}
public WorkOrderCollection()
{
}
public void Add(WorkOrder aWorkOrder)
{
workorders.Add(aWorkOrder);
}
public void Remove(int index)
{
if (index > workorders.Count - 1 || index < 0)
{
System.Windows.Forms.MessageBox.Show("Index not valid!");
}
else
{
workorders.RemoveAt(index);
}
}
我不完全理解这一点。我需要做些什么来完成这个转换?
你应该参考这个帖子:HTTPS://stackoverflow.com/questions/11296810/how-do-i-实施 - ienumerablet –
除此之外,我可以问你为什么要自己建立一个集合课吗?为什么不直接简单地使用'List'?除了简单地委托一切,你的收藏并没有太大的作用。 –
Alejandro