我正在嘗試編寫我自己的(簡單)List實現。這是我做過什麼至今:實施IEnumerable的麻煩<T>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace provaIEnum
{
class MyList<T> : IEnumerable<T>
{
private T[] _array;
public int Count { get; private set; }
public MyList() { /* ... */ }
public void Add(T element) { /* ... */ }
// ...
public IEnumerator<T> GetEnumerator()
{
for (int i = 0; i < Count; i++)
yield return _array[i];
}
}
我收到約GetEnumerator的錯誤,但:
「provaIEnum.Lista」不實現接口成員 「System.Collections.IEnumerable.GetEnumerator ()」。 'provaIEnum.Lista.GetEnumerator()'無法實現 'System.Collections.IEnumerable.GetEnumerator()',因爲它不包含 具有匹配的返回類型'System.Collections.IEnumerator'。
我不知道我是否理解VS試圖告訴我什麼,我不知道如何解決它。
感謝您的時間
請注意,你不應該這樣寫你的枚舉器,因爲目前你可以在'foreach'中調用你的內部數組(在foreach中調用'Add'不會導致異常)。 [see](http://stackoverflow.com/questions/24142614/when-should-i-separately-implement-ienumeratort) – nawfal 2014-07-08 16:59:28
@nawfal好點,錯誤總是看着我們;) – BlackBear 2014-07-08 17:46:19