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.