I delegati possono fare riferimento a diversi concetti. Un oggetto può fare affidamento su un altro (un delegato) per eseguire una funzione. La delega può anche fare riferimento alla funzionalità del linguaggio di programmazione che utilizza le regole di ricerca del metodo per l'invio di auto-chiamate. In C # un delegato definisce il metodo da chiamare quando viene attivato un evento.