Предыстория вопроса:
Некий класс имеет ряд методов с различным количеством аргументов:
public sub method_1(arg1 as type, ... , argn as type)
.
.
.
В его конструкторе собирается коллекция описателей этих методов, которая включает в себя имя метода и набор описателей типов аргументов.
Вопрос в том как корректно передать аргументы в вызове функции CallByName.
Пробовал по набору описателей типов аргументов создавать массив variant:
dim v() as variant
for ...
redim preserve v(...)
v(ubound(v))=value 'в зависимости от типа агумента
next
CallByName objref, "method_name", vbMethod, v - не работает
Остановился на том, что каждый метод указанного класса принимает массив variant, а потом разгребает то, что ему передали. Может быть есть более изящное решение?