我有一個實現了索引器的類。 我希望能夠在這個上運行一個foreach循環,但它說我必須實現枚舉器接口。這使我實現兩個方法:在'this'上實現'foreach'的GetEnumerator C#
#region IEnumerable implementation
public IEnumerator<Type> GetEnumerator() {
throw new NotImplementedException();
}
#endregion
#region IEnumerable implementation
IEnumerator IEnumerable.GetEnumerator() {
throw new NotImplementedException();
}
#endregion
- 你能請我例子就是這兩者之間的區別?
- 它需要什麼樣的實現?
類是建立這樣:
- 它有一個字段是一個數組來保存數據。
- 它有一個索引器來獲取和設置上述數組中的特定元素。
我希望能夠運行在類內的這 foreach循環,這樣我就可以獲取和使用索引的get和set邏輯設置陣列領域。
這就是爲什麼我需要實現GetEnumerator方法,但我不知道需要什麼樣的實現。
謝謝你的幫助。
注意: How do I implement IEnumerable<T>線程沒有幫助我,我讀過它。唯一的實現是返回數組的枚舉器。
爲什麼你不只是迭代內部數組,而不是'this'? – Servy
因爲它背後有一些邏輯。我只能在特定情況下返回內部數組單元格的值。通常我應該返回一個保存在另一個字段中的值。 – johni
可能的重複[我如何實現IEnumerable](http://stackoverflow.com/questions/11296810/how-do-i-implement-ienumerablet) –