I delegati sono spesso utilizzati in C# per implementare eventi e callback. Creando un delegato che può essere assegnato a un metodo, è possibile creare un meccanismo per le altre parti del codice da avvisare quando si verifica un determinato evento o per fornire un metodo da chiamare quando una determinata azione è completa. I delegati sono uno strumento potente nel linguaggio C# e sono una parte essenziale di molte tecniche di programmazione avanzate.
Delegati in c#
Il delegato è simile a un puntatore di funzione in C o C ++, ma con funzionalità aggiuntive come la combinazione di più metodi in un singolo delegato, invocando un elenco di metodi in sequenza e il passaggio dei parametri ai metodi, qui è la sintassi per esso:
delegato pubblico( )
Nella sintassi sopra, è il tipo di ritorno del metodo a cui il delegato indica. è il nome del delegato e sono i parametri che il metodo prende.
Come usare i delegati in C#
Per utilizzare un delegato, è necessario definire prima un tipo di delegato, che specifica la firma del metodo o dei metodi a cui può fare riferimento. Un tipo di delegato può essere definito utilizzando la parola chiave delegata, seguita dal tipo di ritorno, dal nome delegato e dall'elenco dei parametri per il metodo o i metodi a cui può fare riferimento. Per illustrare l'uso dei delegati in C Sharp, ho fornito un codice di esempio che eseguono semplici aggiunte e sottrazione:
usando il sistema;
DELEGATO PUBBLICO INT SEMPLICAZIONE (int x, int y);
Calcolatore di classe pubblica
public int add (int x, int y)
restituire x + y;
public int sottract (int x, int y)
restituire x - y;
Programma di classe
statico void main (string [] args)
Calcolatrice calcolatrice = nuovo calcolatrice ();
Esecuzione del calcolo del calcolo = calcolatore.Aggiungere;
int risultato = calcoloDelegate (5, 3);
Console.WriteLine ($ "Aggiungi = risultato");
CalcoloDelegate = calcolatrice.Sottrarre;
Risultato = CalculationDelegate (5, 3);
Console.WriteLine ($ "sottraction = risultato");
Console.Linea di lettura();
Innanzitutto è definito il delegato che esegue la calcolo che richiede due parametri interi e in resi dà un numero intero. Definisce anche una classe di calcolatrice con due metodi: Aggiungi e sottrarre che eseguono rispettivamente operazioni di addizione e sottrazione.
Nel metodo principale, viene creata un'istanza della classe di calcolatrice e quindi il metodo ADD viene assegnato a un calcolo della variabile delegato. Ciò significa che CalculationDelegate può ora essere utilizzato per chiamare il metodo ADD della classe calcolatrice. Il metodo ADD viene chiamato usando CalculationDelegate con gli argomenti 5 e 3.
Successivamente, il Calcolo Dlelegate viene assegnato al metodo di sottrazione della classe calcolatrice. Ciò significa che CalculationDelegate può ora essere utilizzato per chiamare il metodo di sottrazione della classe calcolatrice. Il metodo di sottratto viene chiamato usando CalculationDelegate con gli argomenti 5 e 3. La funzione readline () viene chiamata per evitare immediatamente la finestra della console, ecco l'output del codice:
Conclusione
I delegati sono comunemente usati in C# per la gestione degli eventi, le funzioni di callback e come modo per passare le funzioni come argomenti ad altre funzioni. Forniscono un modo flessibile per gestire le funzioni in modo orientato agli oggetti, rendendo più facile scrivere un codice.