C# Eventi

C# Eventi

Gli eventi devono essere risposti al più presto dalle applicazioni. Tale che interrompe, la comunicazione tra process è eseguita attraverso l'uso degli eventi. Le azioni dell'utente, come tasti, clic e movimenti del mouse come eventi generati dal sistema, sono entrambi esempi di azioni dell'utente. In C#, un evento è un delegato che è stato incapsulato. Il delegato definisce la dichiarazione del metodo del gestore di eventi per l'abbonato di classe. Nell'articolo, specificheremo l'evento che si verifica in C# e ne notifica anche le altre classi, oltre a discutere il gestore di eventi di occorrenza in C#.

Cos'è l'evento in C# in Ubuntu 20.04?

I delegati sono usati per definire eventi in C#, che sono un sottoinsieme di delegati. Un editore è tenuto a sollevare un evento in C#e è necessaria anche una lezione di abbonati per ricevere e gestire un evento. L'evento è pubblicato con l'aiuto della classe Publisher. La classe di abbonati è una classe aggiuntiva che elabora tali eventi. Un paradigma del sottoscritto editore viene utilizzato per eventi in C#. In generale, la classe che invia l'evento è conosciuta come la classe dell'editore e la classe che riceve l'evento è conosciuta come la classe di abbonati.

Sintassi di dichiarare l'evento in C# in Ubuntu 20.04

La sintassi di una funzione o metodo è importante nella programmazione e abbiamo una semplice sintassi per la funzione di gestore di eventi è la seguente:

Delegato pubblico void delegateHandler (); // delegato

Innanzitutto, il tipo di evento del delegato deve essere specificato prima che l'evento possa essere dichiarato in classe.

Evento pubblico vuoto delegatehandler eventHandler (); // evento

Il codice precedente crea un "delegatehandler" utilizzando il delegato della parola chiave e un evento "eventhandler" che chiama il delegato quando viene sollevato. Si noti che solo nella classe in cui è stato dichiarato l'evento può essere usato per invocarlo.

Come dichiarare gli eventi in C# in Ubuntu 20.04

Per capire come funzionano l'evento delegato e il gestore di eventi in C#, dovremmo avere esempi di programmazione pratica. Questi esempi sono implementati in Ubuntu 20.04 usando un compilatore mono per C#.

Esempio n. 1: programma di utilizzo dei delegati in C # in Ubuntu 20.04

L'esempio è semplicemente dichiarare il delegato e dichiarare anche una variabile delegata con la parola chiave dell'evento. Abbiamo dichiarato un evento per il seguente codice nella classe Publisher.

Abbiamo importato la libreria di sistema di C# come "Utilizzo del sistema" che ci aiuta a includere le classi e le funzioni come la classe della console e la funzione WriteLine. Lo spazio dei nomi viene dato il nome "myapp" che identifica e incapsula il nostro codice. Il delegato è definito qui come "del" della stringa di tipo e passa "STR" della stringa come parametro. Successivamente, la classe Publisher viene creata come "Esempio di eventi". Nella classe Publisher, abbiamo dichiarato un delegato "Del" e usando il modificatore "Evento", abbiamo dichiarato un evento per il delegato di tipo "Del".Quindi, abbiamo chiamato "EventExample" e creato un oggetto "questo.Evento".

L'oggetto viene inizializzato con il delegato "Del" utilizzando una nuova parola chiave e passando un altro oggetto "questo.Mentouser ”ad esso. Abbiamo definito "Elleuser" come un tipo di stringa che è passato con un nuovo oggetto "Myuser" come parametro. L'istruzione di ritorno restituirà il valore di Myuser insieme alla stringa "ciao". Il void Main ha invocato la classe dell'editore "EventExample" in cui abbiamo assegnato un valore a "Myuser" nel "OBJ. Evento". Il "Obj. Evento "è inizializzato per la variabile" risultato "che abbiamo passato nella console.Metodo WriteLine per la visualizzazione.

L'output dell'esecuzione del programma sopra viene visualizzata nella schermata della console.

Esempio n. 2: programma di consumo di un evento in C # in Ubuntu 20.04

La classe di abbonati deve registrarsi per l'evento e gestirlo con il metodo la cui dichiarazione corrisponde al delegato come mostrato nel programma seguente.

L'evento "myProcessCompleted" è iscritto alla classe "MyProgram". Utilizza l'operatore "+=" per registrarsi con l'evento. Ricorda che possiamo aggiungere metodi all'elenco invocazione del delegato multicast allo stesso modo. L'evento è gestito qui dal metodo "P1_MyProcessCompleted ()", che corrisponde alla dichiarazione del tipo delegato "Notifier" e alla console. Il metodo WriteLine è invocato per stampare il messaggio particolare. Il metodo OnProcessCompleted () è chiamato alla fine del metodo StartProcess (), che solleva un evento.

Quindi, il nome dell'evento "OnProcessCompleted" viene chiamato e definito con il metodo virtuale protetto. Il metodo OnProcessCompleted () utilizza ProcessCompleted. Invoca () per chiamare il delegato. Ciò verifica innanzitutto che l'evento "myProcessCompleted" non dovrebbe essere nullo e poi, chiama il delegato "Notifier".

All'esecuzione del codice aereo, abbiamo l'output stampato sullo schermo di seguito.

Esempio n. 3: programma di passaggi di passaggio in EventHandlerdelegate incorporato in C # in Ubuntu 20.04

La maggior parte degli eventi invia dati ai loro abbonati. La classe EventArgs funge da base per tutte le classi di dati di eventi. Per passare i dati al gestore, utilizziamo EventHandler. Il codice è illustrato di seguito.

Qui, abbiamo una classe chiamata "EventHandlerProgram". Nella classe, abbiamo una funzione principale vuota chiamata che ha un oggetto "EventHandlerProcess" come P1. L'oggetto viene inizializzato con la nuova parola chiave e invocato da EventHandlerProcess (). P1_ProcessCompleted è registrato come evento qui utilizzando l'operatore “+=”. Alla fine del void principale, la funzione startprocess () è inoltre invocata per il metodo di compleENT onprocess che solleva un evento. Quindi, abbiamo un gestore di eventi "P1_ProcessCompleted" in cui abbiamo superato un oggetto come "fonte" e digita il bool come "emesso".

Il consolewriteline stamperà l'istruzione booleana. La classe "EventHandler" è creata in cui abbiamo un eventHandler integrato per dichiarare un evento. Inoltre, abbiamo invocato il metodo StartProcess che ha un blocco di try-catch per la gestione delle eccezioni se si verifica. Il "OnProcessCompleted" è chiamato con il metodo virtuale protetto. Nella funzione OnProcessCompleted (), utilizziamo invochi () per sollevare un evento, abbiamo specificato "questo" come mittente e bool come "emesso". Si noti che ai gestori viene assegnato un singolo valore bool che indica se il processo è riuscito o non è riuscito.

L'output della compilazione del codice è mostrato nell'immagine seguente.

Esempio n. 4: programma di dichiarazione e raccolta di eventi in C # in Ubuntu 20.04

Quello che segue è un esempio in cui dobbiamo dichiarare e sollevare un evento nel linguaggio di programmazione C# utilizzando il tipo di delegato di base.

Nell'esempio sopra, abbiamo una classe "aritmeticoperations" come classe editrice in cui abbiamo eseguito la funzionalità necessaria che controlla se la classe invocata si è iscritta all'evento o meno. Il delegato è dichiarato nella classe dell'editore come delegato e l'evento è dichiarato "myevent". Il vuoto aggiunge sta prendendo "x1" e "y1" come valori dei parametri. Nel blocco Aggiungi vuoto, abbiamo chiamato un delegato tramite l'istruzione IF-ELSE per il controllo dell'abbonamento. L'evento "MyEvent" è sollevato nell'istruzione IF-ELSE e stampa il messaggio tramite il metodo WriteLine. Quindi, abbiamo la classe di abbonati come operazioni con i metodi richiesti. Abbiamo usato l'operatore += nella classe operativa per iscriverti all'evento "MyEvent" e nominato un gestore come "MyEventHandler" per eseguire le operazioni appropriate quando è stato sollevato un evento. Il metodo del gestore "MyEventHandler" nella classe Operations ha la stessa implementazione del metodo delegato "Delegato" nella classe "Aritmeticoperations".

Puoi vedere l'output dell'operazione aritmetica di base mediante gestore di eventi in C# di seguito.

Conclusione

Abbiamo approfondito l'evento C# discutendo quali sono gli eventi in C# e la sintassi di base che implementiamo nella programmazione. Abbiamo anche eseguito l'esempio di eventi e gestori di eventi mostrando come creare eventi semplici, sollevare un evento e anche iscriverti a un evento mostrando il loro output sullo schermo del terminale Ubuntu. Questi sono esempi molto semplici che potrebbero aiutarti a capire chiaramente.