Ricordo che quando per la prima volta mi trovai ad affrontare il concetto di callback, ebbi non pochi dubbi e problemi a capire a fondo come funzionasse tutto il meccanismo.
Avendo comprato un libbrone su vb.net ( più di 1000 pagine) lessi tutto il capitolo che parlava delle funzioni di callback e dei delegate...ma alla fine ero più confuso di prima (nonostante l'autore fosse un affermato programmatore!). Così, per capire a fondo il concetto di delegate e il reale meccanismo delle callback, iniziai a "smanettare" e finalmente raggiunsi il mio obiettivo!
In tutti questi anni non ho mai trovato una definizione semplice e chiara sulle callback...ma l'altro giorno, leggendo una famosa rivista ho trovato questa definizione :
[..]Una funzione di callback, è una funzione implementata nello stesso codice di una funzione chiamante, e che sarà invocata però all'interno di una data funzione chiamata, in maniera da poter interagire con il chiamante. Per far ciò viene passato come argomento alla funzione un puntatore alla funzione di callback.Per utilizzare tale tipo di funzioni in .NET è necessario ricorrere al concetto di delegate, cioè il corrispondente nel mondo managed dei puntatori a funzione unmanaged. [..] di Antonio Pelleriti
Forse sarò io stupido...ma le altre spiegazioni che ho letto in tutti questi anni non erano così chiare, lineari, ma soprattuto, semplici da capire, come questa definizione.
Complimenti!