Почему Enumerable.Range реализует IDisposable?

Просто интересно, почему Enumerable.Rangeреализует IDisposable.

Я понимаю, почему IEnumerator<T>требует, но IEnumerable<T>этого не требует.


(Я обнаружил это, играя с моей реализацией.Memoise (), в которой есть выражение типа

if (enumerable is IDisposable)
    ((IDisposable)enumerable).Dispose();

в его методе «исходный код», на который я поставил точку останова из любопытства и который был запущен тестом.)

11
задан Michael Petrotta 4 July 2012 в 03:39
поделиться