基本上假設你有一些收藏:可以在IEnumerator.GetEnumerator()中返回IEnumerator <T> .GetEnumerator()嗎?
public class FurCollection : IEnumerable<FurStrand>
{
public IEnumerator<FurStrand> GetEnumerator()
{
foreach(var strand in this.Strands)
{
yield return strand;
}
}
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
}
這是可以接受的?或者是這種容易發生錯誤或不正確的做法?我幾乎總是使用IEnumerator<T
>,但我仍然希望非通用版本穩定並正確實施。
我敢肯定你的意思是** IEnumerable **而不是** IEnumerator ** ... –
2011-01-14 18:31:02
謝謝對不起,我很快寫了這個示例。 – 2011-01-14 18:55:39