Implementieren einer benutzerdefinierten iterierbaren Klasse in VBA

Ich möchte meinen Klassen ein Feature hinzufügen, damit ich sie in for-each-Schleifen verwenden kann.

Ich habe Hashmaps, Arraylisten, Warteschlangen, Mengen usw. geschrieben, über die ich noch einmal iterieren möchte. Jetzt suche ich nach einer Möglichkeit, die IUnknown-Klasse zum Erstellen benutzerdefinierter Iteratoren zu implementieren.

Ich weiß bereits, wie man es benutzt

private objPeople as Collection
Public Property Get NewEnum() As IUnknown
Attribute NewEnum.VB_UserMemId = -4
Attribute NewEnum.VB_MemberFlags = "40"
    Set NewEnum = objPeople.[_NewEnum]
End Property

Aber all diese Beispiele basieren auf der Collection-Klasse, die ich nicht verwenden möchte.

Ich möchte mich auf die Implementierung der IUnknown-Schnittstelle konzentrieren, habe jedoch keine Hinweise dazu gefunden.

Ich habe große Erfahrung in Java, C ++, C # und so weiter, also gehe ich davon aus, dass es MÖGLICHKEITEN gibt, dies auch in VBA zu implementieren, vielleicht sogar mit solchen API-Aufrufen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage