Я недавно заметил ключевое слово CallByName в VB6.
Поскольку для этого требуется объект, имя процедуры, «тип вызова» и массив аргументов, можно ли это использовать для «подделки» некоторых типов полиморфного поведения?
Я могу сделать 2 класса, класс A и B, каждый с одним и тем же методом Foo, и сделать:
Dim list As New Collection
Dim instanceA As New ClassA
Dim instanceB As New ClassB
Dim current As Object
Call list.Add(instanceA)
Call list.Add(instanceB)
For Each current in list
Call CallByName(current, "methodName", vbMethod)
Next
Кто-нибудь делал это раньше? Проблемы? Ужасная идея или гениальная идея? Последствия? Непреднамеренные последствия?