【发布时间】:2015-10-18 10:12:12
【问题描述】:
我正在尝试了解 IEnumerable 集合。我有一个基本的 WorkOrder 类,我想为它创建一个集合类。
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() 收到一个错误。它告诉我它不能将 List 转换为 Enumerator。
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);
}
}
我没有完全理解这一点。我需要做什么才能进行转换?
【问题讨论】:
-
你应该参考这篇文章:stackoverflow.com/questions/11296810/…
-
除此之外,请问您为什么要自己构建一个集合类?为什么不直接使用
List<WorkOrder>?除了简单地委派所有内容之外,您的收藏并没有太多作用。
标签: c# class ienumerable