IEnumerator: Ist es normal, eine leere Dispose-Methode zu verwenden?

8

Ich schreibe eine IEnumerator<T> Klasse, um über COM Sammlung Ich bin Wrapping . Ich habe bemerkt, dass IEnumerator<T> IDisposable erweitert, also bin ich erforderlich um die Methode Dispose zu implementieren.

Ich kann mir jedoch nichts vorstellen, was ich hier tun würde, da ich nur einen Verweis auf die Sammlung habe (die ich am Ende eines foreach nicht entsorgen möchte), und ein int für den Index. Ist es normal, die Methode Dispose leer zu lassen?

    
C. Ross 17.06.2010, 12:35
quelle

1 Antwort

15

Ja, ist es.

IEnumerator<T> implementiert IDisposable für den Fall, dass Sie einen Enumerator erstellen, der entsorgt werden muss. Da die meisten Enumeratoren nicht entsorgt werden müssen, ist die Methode normalerweise leer.

Übrigens können Sie Ihre IEnumerator einfacher implementieren, indem Sie einen Iterator erstellen .

    
SLaks 17.06.2010, 12:38
quelle

Tags und Links