Delegate

giovedì 06 dicembre 2012 - 10.03
Tag Elenco Tags  C#  |  .NET 4.0

Gemini Profilo | Expert

Ciao a tutti
una domanda: non mi è molto chiaro l'utilizzo di 'delegate'.
Mi capita di utilizzarlo con espressioni lambda, ma ho trovato altri esempi e non mi è chiaro il loro utilizzo, la loro dichiarazione e il perchè devo utilizzare delegate. Leggo che sono uno strumento potente, ma non riesco ad immaginare il loro utilizzo e spesso la loro chiarazione non mi è chiara.
Grazie mille

alx_81 Profilo | Guru

>Ciao a tutti
Ciao

>una domanda: non mi è molto chiaro l'utilizzo di 'delegate'.
>Mi capita di utilizzarlo con espressioni lambda, ma ho trovato
>altri esempi e non mi è chiaro il loro utilizzo, la loro dichiarazione
>e il perchè devo utilizzare delegate. Leggo che sono uno strumento
>potente, ma non riesco ad immaginare il loro utilizzo e spesso
>la loro chiarazione non mi è chiara.
Documentazione:
http://msdn.microsoft.com/it-it/library/900fyy8e(v=vs.100).aspx
http://msdn.microsoft.com/it-it/library/ms173171(v=vs.100).aspx
http://msdn.microsoft.com/it-it/library/sx2bwtw7(v=vs.100).aspx

>Grazie mille
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

andrestu Profilo | Expert

Per farti capire con un semplice esempio io ultimamente l'ho utilizzato in questo modo:
ho una classe X che esegue una certa procedura e a metà di questa procedura deve eseguire uno o più metodi con una certa firma esterni alla classe i quali però la classe X non è a conoscienza della loro implementazione.
A questo punto entra in gioco il delegate, io definisco un delegate nella classe X (che non è altro che la definizione della firma di un metodo) e da un altra classe esterna Y posso associare al delegate della classe X uno o più metodi dichiarati nella classe Y.
Questi metodi verranno eseguiti quando la classe X eseguirà il delegate.
Spero di essere stato utile e chiedo perdono ai Guru della programmazione se sono stato un pò grossolano nella spiegazione o se ho fatto qualche errore nel cercare di spiegare l'argomento, a grandi linee comunque il concetto dovrebbe essere questo.
L'espressioni lamba per esempio mi permette di associare un metodo anonimo ad un delegate...

Andrea Restucci - Web Developer

Gemini Profilo | Expert

Sei stato chiarissimo. Ora che so in parole povere cos'è delegate sarà più facile capire gli esempi.
grazie

alx_81 Profilo | Guru

>Spero di essere stato utile e chiedo perdono ai Guru della programmazione
>se sono stato un pò grossolano nella spiegazione o se ho fatto
>qualche errore nel cercare di spiegare l'argomento, a grandi
>linee comunque il concetto dovrebbe essere questo.
è molto meglio riuscire a trovare il modo di spiegare una cosa semplicemente che tanta accademia.
Ora, forte della spiegazione di Andrea, aggiungi la documentazione e vedrai che sei al completo

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Gemini Profilo | Expert

grazie Alessandro
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5