Sommario:
Definizione - Cosa significa delegato?
Un delegato è un puntatore a una funzione orientata agli oggetti, gestita, sicura e sicura per i tipi nel framework .NET. Una firma delegata include il nome, il tipo restituito e gli argomenti passati ad essa. Invece di passare i dati, un delegato passa un metodo a un altro metodo. I delegati vengono utilizzati in molti contesti, tra cui l'implementazione di callback e gestori di eventi, punti thread di immissione e molteplici tipi di specifiche del metodo. Poiché un delegato non conosce la classe di un oggetto referenziato, viene utilizzato per l'invocazione anonima.
Techopedia spiega Delegato
Lo scopo principale di un delegato è collegare l'oggetto delegato al chiamante, il che significa che il riferimento al metodo chiamato non richiede specifiche al momento della compilazione. I delegati svolgono un ruolo vitale nel modello di programmazione guidato dagli eventi, in cui i gestori di eventi vengono aggiunti ai controlli dell'interfaccia utente (UI).
I tipi delegati sono:
- Cast singolo: punta a un singolo metodo
- Multicast: fa riferimento a più metodi, ognuno con la stessa firma e include solo metodi che restituiscono null per evitare eccezioni durante il runtime
- Eseguono con autorizzazioni chiamante, contro dichiarante.
- Gli oggetti delegati sono immutabili.
- Il modificatore di accesso predefinito è privato (interno) o pubblico.
- Un delegato può essere utilizzato solo dopo l'istanza.
- I delegati possono essere dichiarati come tipi nidificati con modificatori di accessibilità per la loro classe o struttura di contenimento. In caso di errore durante l'esecuzione del metodo delegato, l'eccezione generata viene restituita al chiamante del delegato e ulteriori invocazioni vengono interrotte.