DOMANDA [C#]A che serve un Delegate?

Pubblicità

Crax

Nuovo Utente
Messaggi
30
Reazioni
0
Punteggio
25
Salve, ho iniziato da poco a leggere un libro sul C#.Sono arrivato al paragrafo sui Delegate, dei quali non ne capisco l' utilita'...Neanche sulla MSDN ci capisco qualcosa, quindi chiedo a voi:A che serve un delegate?Se puo' essere utile, ecco il codice scritto nel paragrafo relativo ai Delegate. http://pastebin.com/qDYfEU9m Grazie in anticipo.
 
Il delgate è utilizzato per richiamare un evento tutto qui. Ora non mi vengono in mente esempi concreti di utilizzo ma può sempre tornare utile
 
Beh, quindi fa la stessa cosa di una funzione? O.o

No. Il delegation pattern è una tecnica che permette ad un oggetto di una classe di offrire una certa funzionalità nella sua interfaccia, ma d'implementarla attraverso un altro oggetto di un'altra ( o stessa ) classe.

Immagina di avere una classe Comparatore, che offre un metodo per il confronto di due "elementi". Gli elementi possono essere qualsiasi cosa, da tipi integrali ( i tipi standard di un linguaggio ) fino a classi, liste, array, ecc...

Il nostro Comparatore vuole offrire una funzionalità di comparazione usabile su qualsiasi tipo di dato, senza dover però usare l'overloading. Inoltre vogliamo fornire la possibilità di comparare anche tipi di dati che esisteranno in futuro ( ovviamente tipi di dati creati dall'utente ). In questo caso, la funzione di effettua il confronto può accettare ( tramite un suo parametro ) un puntatore/riferimento ad un oggetto delegato, il quale implementerà una specifica funzione di confronto per tipi specifici. Ovviamente il delegato dev'essere creato dal programmatore che vuole usare la classe Comparatore.
 
No. Il delegation pattern è una tecnica che permette ad un oggetto di una classe di offrire una certa funzionalità nella sua interfaccia, ma d'implementarla attraverso un altro oggetto di un'altra ( o stessa ) classe.

Immagina di avere una classe Comparatore, che offre un metodo per il confronto di due "elementi". Gli elementi possono essere qualsiasi cosa, da tipi integrali ( i tipi standard di un linguaggio ) fino a classi, liste, array, ecc...

Il nostro Comparatore vuole offrire una funzionalità di comparazione usabile su qualsiasi tipo di dato, senza dover però usare l'overloading. Inoltre vogliamo fornire la possibilità di comparare anche tipi di dati che esisteranno in futuro ( ovviamente tipi di dati creati dall'utente ). In questo caso, la funzione di effettua il confronto può accettare ( tramite un suo parametro ) un puntatore/riferimento ad un oggetto delegato, il quale implementerà una specifica funzione di confronto per tipi specifici. Ovviamente il delegato dev'essere creato dal programmatore che vuole usare la classe Comparatore.
Grazie ma non ci ho comunque capito nulla...
Credo che, codificando, capiro' qualcosa in piu', dato che pensavo lo stesso degli Array(Solo dopo ho capito la loro utilita')
 
Pubblicità
Pubblicità
Indietro
Top