C # événements

C # événements

Les événements doivent être répondus dès que possible par les candidatures. Tels que les interruptions, la communication interprète est accomplie grâce à l'utilisation des événements. Les actions des utilisateurs, telles que les touches, les clics et les mouvements de souris tels que les événements générés par le système, sont deux exemples d'actions des utilisateurs. En C #, un événement est un délégué qui a été encapsulé. Le délégué définit la déclaration de méthode du gestionnaire d'événements pour l'abonné de la classe. Dans l'article, nous spécifierons l'événement qui se produit en C # et informe également les autres classes à ce sujet, ainsi que de discuter du gestionnaire d'événements d'occurrence dans C #.

Qu'est-ce que l'événement en C # dans Ubuntu 20.04?

Les délégués sont utilisés pour définir des événements en C #, qui sont un sous-ensemble de délégués. Un éditeur est tenu de lever un événement en C #, et une classe d'abonnés est également requise pour recevoir et gérer un événement. L'événement est publié avec l'aide de la classe Publisher. La classe d'abonnés est une classe supplémentaire qui traite de tels événements. Un paradigme éditeur-subscripteur est utilisé pour les événements en C #. En général, la classe qui envoie l'événement est connue sous le nom de classe des éditeurs, et la classe qui reçoit l'événement est connue sous le nom de classe d'abonnés.

Syntaxe de déclarer l'événement en C # dans Ubuntu 20.04

La syntaxe d'une fonction ou d'une méthode est importante dans la programmation, et nous avons une syntaxe simple pour la fonction du gestionnaire d'événements est la suivante:

Délégué public Void DelegateHandler (); // déléguer

Tout d'abord, le type d'événement du délégué doit être spécifié avant que l'événement puisse être déclaré dans la classe.

Événement public Void DelegateHandler EventHandler (); // événement

Le code précédent crée un «délégué» en utilisant le délégué de mots clés et un événement «EventHandler» qui appelle le délégué lorsqu'il est soulevé. Notez que ce n'est que dans la classe où l'événement a été déclaré peut être utilisé pour l'invoquer.

Comment déclarer les événements en C # dans Ubuntu 20.04

Pour comprendre comment l'événement du délégué et le gestionnaire d'événements fonctionnent en C #, nous devrions avoir des exemples de programmation pratiques. Ces exemples sont mis en œuvre dans Ubuntu 20.04 En utilisant un compilateur mono pour C #.

Exemple n ° 1: Programme d'utilisation des délégués en C # dans Ubuntu 20.04

L'exemple consiste simplement à déclarer le délégué et à déclarer également une variable de délégué avec le mot-clé de l'événement. Nous avons déclaré un événement pour le code suivant dans la classe des éditeurs.

Nous avons importé la bibliothèque système de C # comme «utilisant le système» qui nous aide à inclure les classes et les fonctions telles que la classe de console et la fonction WriteLin. L'espace de noms reçoit le nom «MyApp» qui identifie et encapsule notre code. Le délégué est défini ici comme «del» de type chaîne de type et passe «str» de chaîne comme paramètre. Après cela, la classe des éditeurs est créée comme «EventExample». Dans la classe des éditeurs, nous avons déclaré un délégué «del» et en utilisant le modificateur «événement», nous avons déclaré un événement pour le délégué de type «Del».Ensuite, nous avons appelé «EventExample» et créé un objet «ceci.Événement".

L'objet est initialisé avec le délégué «del» en utilisant un nouveau mot-clé et en passant un autre objet «.Helousser ». Nous avons appelé «Hellouser» comme un type de chaîne qui est passé avec un nouvel objet «Myuser» comme paramètre. L'instruction de retour renverra la valeur de Myuser avec la chaîne «bonjour». Le vide Main a invoqué la classe d'éditeurs «EventExample» où nous avons attribué une valeur à «Myuser» dans le «OBJ. Événement". Le «OBJ. L'événement »est initialisé pour la variable« Résultat »que nous avons passé dans la console.Méthode d'écriture pour afficher.

La sortie de l'exécution du programme ci-dessus s'affiche sur l'écran de la console.

Exemple n ° 2: Programme de consommation d'un événement en C # dans Ubuntu 20.04

La classe d'abonnés doit s'inscrire à l'événement et le gérer avec la méthode dont la déclaration correspond au délégué comme indiqué dans le programme ci-dessous.

L'événement «MyProcessCompleted» est souscrit à la classe «MyProgram». Il utilise l'opérateur «+ =» pour s'inscrire auprès de l'événement. N'oubliez pas que nous pouvons ajouter des méthodes à la liste invoquante du délégué de multidiffusion de la même manière. L'événement est géré ici par la méthode «P1_MyProcessCompleted ()», qui correspond à la déclaration de type «notificateur» et à la console déléguée et à la console. La méthode WriteLine est invoquée pour imprimer le message particulier. La méthode onProcessCompleted () est appelée à la fin de la méthode startProcess (), qui soulève un événement.

Ensuite, le nom de l'événement «OnProcessCompleted» est appelé et défini avec la méthode virtuelle protégée. La méthode onProcessCompleted () utilise ProcessCompleted. Invoke () pour appeler le délégué. Cela vérifie d'abord que l'événement «myprocesscompleted» ne devrait pas être nul et appelle ensuite le délégué «notificateur».

Lors de l'exécution du code aérien, nous avons la sortie imprimée à l'écran annexé ci-dessous.

Exemple # 3: Programme de passage des données dans EventHandlerDelegate intégré en C # dans Ubuntu 20.04

La majorité des événements envoient des données à leurs abonnés. La classe EventArgs sert de base à toutes les classes de données d'événements. Pour transmettre les données au gestionnaire, nous utilisons EventHandler. Le code est illustré ci-dessous.

Ici, nous avons un cours appelé «EventHandlerProgram». Dans la classe, nous avons une fonction principale vide appelée qui a un objet «EventHandlerProcess» comme P1. L'objet est initialisé avec le nouveau mot-clé et invoqué par EventHandlerProcess (). Le P1_ProcessCompleted est enregistré en tant qu'événement ici en utilisant l'opérateur «+ =». À la fin du vide principal, la fonction startProcess () est également invoquée pour la méthode d'accès à l'onProcess obligé qui soulève un événement. Ensuite, nous avons un gestionnaire d'événements «P1_ProcessCompleted» dans lequel nous avons passé un objet en tant que «source» et type Bool comme «émetteur».

La consolewriteline imprimera la déclaration booléenne. La classe «EventHandler» est créée dans laquelle nous avons un EventHandler intégré pour avoir déclaré un événement. De plus, nous avons invoqué la méthode StartProcess qui a un bloc d'essai pour la manipulation des exceptions si cela se produit. Le «surprocesscompleted» est appelé avec la méthode virtuelle protégée. Dans la fonction OnProcessCompleted (), nous utilisons invoke () pour élever un événement, nous avons spécifié «ceci» en tant que expéditeur et bool comme «émetteur». Notez que les gestionnaires reçoivent une seule valeur bool qui indique si le processus a réussi ou échoué.

La sortie de la compilation du code est indiquée dans l'image ci-dessous.

Exemple n ° 4: Programme de déclaration et d'événement d'événements en C # dans Ubuntu 20.04

Ce qui suit est un exemple dans lequel nous devons déclarer et soulever un événement dans le langage de programmation C # en utilisant le type de délégué de base.

Dans l'exemple ci-dessus, nous avons une classe «ArithmeticOperations» en tant que classe d'éditeurs dans laquelle nous avons effectué les fonctionnalités nécessaires qui vérifient si la classe invocante abonnée à l'événement ou non. Le délégué est déclaré dans la classe des éditeurs en tant que délégué et l'événement est déclaré «MyEvent». Le vide add prend «x1» et «y1» comme valeurs de paramètre. Dans le bloc de vide ajouter, nous avons appelé un délégué via l'instruction IF-Else pour vérifier l'abonnement. L'événement «MyEvent» est soulevé dans la déclaration IF-Else et imprime le message via la méthode WriteLine. Ensuite, nous avons la classe d'abonnés comme opérations avec les méthodes requises. Nous avons utilisé l'opérateur + = dans la classe d'opérations pour s'abonner à l'événement «MyEvent» et nommé un gestionnaire comme «MyEventHandler» pour effectuer les opérations appropriées lorsqu'un événement a été soulevé. La méthode du gestionnaire «MyEventHandler» dans la classe d'opérations a la même implémentation que dans la méthode du délégué «Delegate» dans la classe «arithmétique».

Vous pouvez voir la sortie de l'opération arithmétique de base par le gestionnaire d'événements en C # ci-dessous.

Conclusion

Nous avons profondément vécu l'événement C # en discutant de ce que sont les événements en C # et de la syntaxe de base que nous mettons en œuvre dans la programmation. Nous avons également exécuté l'exemple des événements et des gestionnaires d'événements en montrant comment créer des événements simples, en soulevant un événement et en abonnement à un événement en affichant leur sortie sur l'écran du terminal Ubuntu. Ce sont des exemples très basiques qui pourraient vous aider à comprendre clairement.