Этот пост является продолжением связанного вопрос, размещенный здесь пользователем Ran.
принятый ответ придерживается использования обычной простой старой функции.
Этот отрывок особенно привлек мое внимание:
Метод экземпляра имеет дополнительный неявный параметр, содержащий ссылку на экземпляр, то есть Self.
С твердым убеждением, что должен быть способ использовать своего рода адаптер «параметров» (чтобы перефразировать избавиться от ненужной неявной ссылки на Self и предоставить указатель на соответствующую адаптированную функцию обратного вызова), я в конечном итоге нахожу это статья под названием Обратный вызов класса от Питер Моррис.
Подводя итог, он использует технику thunking как адаптационный трюк. (Отказ от ответственности: я никогда не тестировал код).
Я знаю, что это не очень чистое решение, но оно позволяет использовать объектно-ориентированный дизайн со всеми предполагаемыми преимуществами.
Мой вопрос:
Зная, что TCallbackThunk основан на сигнатуре функции обратного вызова, каков был бы ответ в упомянутом выше сообщении, если бы поступить так, как это сделал Питер Моррис?
.