2010-06-17 16 views
8

wrappering numaralı COM koleksiyonunda yinelemek için bir IEnumerator<T> sınıfı yazıyorum. Ben IEnumerator<T>IDisposable genişlediğini fark ettim, bu yüzden Dispose yöntemini uygulamak gerekir.IEnumerator: Boş bir Dispose yöntemine sahip olmak normal midir?

Ancak, ben sadece (Ben foreach sonunda tanzim edilmiştir istemem) koleksiyonuna bir başvuru var gibi ben oraya koymak bir şey düşünemiyorum ve dizin için bir int olamaz . Dispose yöntemini boş bırakmak normal mi?

cevap

15

Evet, öyle. Imha edilmek zorunda olan bir numaralayıcı hazırlamanız durumunda, 10Çoğu sayım memuru imha edilmek zorunda olmadığından, yöntem genellikle boş olacaktır.

Bu arada, IEnumerator numaranızı creating an iterator daha kolay bir şekilde uygulayabilirsiniz.

+0

Verim hakkında hatırlatıcı için teşekkürler. Daha kolay bir yol olduğunu düşündüm. –

+2

Bu arada, 'verim', IEnumerator'un '' IDisposable' - ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ifadesi ya da' 'son' 'bloğu' 'Atma' 'uygulamasına girmesinin nedenlerinden biridir. – SLaks

+0

VB.NET kullanıcıları için, "Verim" öğesinin Visual Studio 2012 veya daha yüksek bir sürüm gerektirdiğini unutmayın. – jrh

İlgili konular