Как реализовать пользовательский итеративный класс в VBA

Я хочу добавить функцию в мои классы, чтобы я мог использовать их в циклах for-each.

Я написал хеш-карты, массивы, очереди, наборы и так далее, которые я хочу перебрать. Теперь я ищу способ реализовать класс IUnknown для создания пользовательских итераторов.

Я уже знаю, как использовать

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

но все эти примеры основаны на классе Collection, который я не хочу использовать.

То, на чем я хочу сосредоточиться, - это попытка реализовать интерфейс IUnknown, но я не нашел никаких ссылок на то, как это сделать.

У меня огромный опыт работы с Java, C ++, C # и т. Д., Поэтому я предполагаю, что должен быть способ реализовать это даже в VBA, может быть, даже с такими вызовами API.

Ответы на вопрос(2)

Ваш ответ на вопрос