Я пишу класс IEnumerator<T>
для итерации по COM Я упаковка. Я заметил, что IEnumerator<T>
расширяет IDisposable
, поэтому я требуется для реализации метода Dispose
.
Однако я не могу придумать, что бы я туда поместил, так как у меня есть только ссылка на коллекцию (которую я бы не хотел размещать в конце foreach
) и int
для индекса. Нормально ли оставлять метод Dispose
пустым?
yield
. Я думал, что есть более простой способ. 17.06.2010yield
является одной из причин, по которойIEnumerator<T>
реализуетIDisposable
- операторusing
или блокfinally
входит вDispose
. 17.06.2010Yield
требуется Visual Studio 2012 или более поздней версии. 26.01.2017IEnumerator<T>
реализуетIDisposable
на случай, если вы создадите перечислитель, который нужно удалить, это не имеет смысла. Почему я не могу указатьIDisposable
сам, когда мне это действительно нужно? 23.12.2019IDisposable
с операторомis
илиas
? 03.01.2020