Как реализовать пользовательский итеративный класс в 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.