Можно ли вернуть IEnumerator .GetEnumerator () в IEnumerator.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 >, но я все же хочу, чтобы неуниверсальная версия была стабильной и правильно реализованной.

6
задан Cheng Chen 14 January 2011 в 18:38
поделиться