Esempio semplicissimo di osservatore C # / osservabile con i delegati

Recentemente ho iniziato a scavare in C # ma non riesco a capire come funzionano i delegati quando si implementa lo schema osservatore / osservabile nella lingua.

Qualcuno potrebbe darmi un esempio semplicissimo di come è fatto? L’ho cercato su google, ma tutti gli esempi che ho trovato erano troppo problematici o troppo “gonfiati”.