подумалось.
почти не связано с ГТК: обычно в С колбеки это укль на функцию и юзер-дата
Д-делегат - это укль на функцию и укль на контекст
ООП-метод - это обычная функция, которая принимает первым аргументов this или укль контекст
значит для будущего счастливого интеропа лучше писать С-код с коллбеками вида
retType (*func)(void* pUserData, ...) // pUserData первым параметром
так можно будет дергать ООП-колбеки из С безо всяких хитромудрённых оберток