Да, понятно. Вероятно, некоторые удобства в HiAsm нельзя реализовать без runtime-конверсии типов...
------------ Дoбавленo в 16.41:
[offtop]Ещё как-то возникала идея "а что, если бы хаб при обзвоне правых точек onEvent "спрашивал" присоединенные компоненты, какой-тип данных они предпочитают?". Ну, то-есть, любой метод левой точки и так вставляет ковертор данных к нужному ему типу. Вот хаб сам вставит конвертер только для этого события и сразу даст данные нужного ему типа. А для другого события он вставит другой конвертер.
Только:
1) Нужно, чтобы метод присоединенного компонента мог знать, какой аргумент в данной схеме он получит именно из потока, чтобы сообщить требуемый тип.
2) Придется каким-то образом для каждой левой и нижней точки предусмотреть возврат желаемого типа по требованию. Это добавляет работы автору компонента.
3) Могут быть компоненты, которые принимают несколько разных типов в один метод. Тогда компонент выдает список поддерживаемых типов в порядке приоритета, а хаб выбирает сначала тот, который не требует конвертации, а если таковой отсутствует, конвертирует к первому в списке типу.
[/offtop]
Ответов: 4628
Рейтинг: 749
|
|||
карма: 26 |
|