Maison développement back-end Tutoriel C#.Net c# Qu'est-ce qu'un délégué et qu'est-ce qu'un événement

c# Qu'est-ce qu'un délégué et qu'est-ce qu'un événement

Apr 04, 2024 pm 02:21 PM
c#

Un délégué est un type de référence pointant vers une méthode et est utilisé pour réaliser un couplage lâche, tandis qu'un événement est un délégué spécial utilisé pour la gestion des événements. La délégation transfère la responsabilité des méthodes d'appel au destinataire, améliorant ainsi la réutilisabilité du code. Les événements permettent aux objets d'informer les abonnés de l'occurrence d'événements, et les abonnés peuvent répondre aux événements. Pour utiliser un délégué, vous devez définir un type de délégué avec la même signature que la méthode appelée, créer un objet délégué pointant vers la méthode et le transmettre en paramètre. Pour utiliser un événement, vous devez définir un événement à l'aide d'un type délégué dans la classe. Les abonnés s'abonnent et se désabonnent en ajoutant et en supprimant des méthodes. Lorsque l'événement est déclenché, tous les abonnés seront appelés.

c# Qu'est-ce qu'un délégué et qu'est-ce qu'un événement

Le rôle des délégués et des événements en C#

Les délégués et les événements sont des mécanismes couramment utilisés en C# pour obtenir un couplage lâche entre les codes et la gestion des événements.

Delegate

  • Définition : Un délégué est un type de référence qui pointe vers une méthode, qui permet de transmettre des méthodes en tant que paramètres à d'autres méthodes.
  • Fonction : Delegate transfère la responsabilité d'appeler une méthode de l'appelant au destinataire, obtenant ainsi la réutilisabilité et la flexibilité du code.

Événement

  • Définition : Un événement est un délégué spécial qui représente une action ou un événement pouvant être déclenché à un moment précis.
  • Rôle : Les événements permettent aux objets d'avertir les abonnés externes de l'occurrence d'événements spécifiques, et les abonnés peuvent répondre à ces événements.

La relation entre la délégation et les événements

Le délégué est le mécanisme sous-jacent des événements. Les événements utilisent des délégués pour gérer une liste d'abonnés et déclencher des appels de méthode à tous les abonnés lorsque l'événement se produit.

Utilisation de délégués

Pour utiliser des délégués, vous devez suivre ces étapes :

  1. Définissez un type de délégué qui a la même signature que la méthode que vous souhaitez appeler.
  2. Créez une instance de l'objet délégué qui pointe vers la méthode à appeler.
  3. Passez les objets délégués en tant que paramètres à d'autres méthodes.

Utiliser des événements

Pour utiliser des événements, vous devez suivre ces étapes :

  1. Définir un événement dans une classe qui utilise un type de délégué comme type.
  2. Les abonnés ajoutent des méthodes aux événements via l'opérateur event +=.
  3. Lorsqu'un événement se déclenche, supprimez la méthode via l'opérateur event -= ou appelez tous les abonnés via la méthode event().

Exemple

Voici un exemple simple utilisant des délégués et des événements :

// 定义一个委托
public delegate void MyEventHandler(object sender, EventArgs e);

// 定义一个事件
public event MyEventHandler MyEvent;

// 触发事件
protected virtual void OnMyEvent(EventArgs e)
{
    MyEvent?.Invoke(this, e);
}
Copier après la connexion
// 订阅事件
myClass.MyEvent += MyEventHandler;
Copier après la connexion
// 触发事件
myClass.OnMyEvent(new EventArgs());
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Active Directory avec C# Active Directory avec C# Sep 03, 2024 pm 03:33 PM

Guide d'Active Directory avec C#. Nous discutons ici de l'introduction et du fonctionnement d'Active Directory en C# ainsi que de la syntaxe et de l'exemple.

Générateur de nombres aléatoires en C# Générateur de nombres aléatoires en C# Sep 03, 2024 pm 03:34 PM

Guide du générateur de nombres aléatoires en C#. Nous discutons ici du fonctionnement du générateur de nombres aléatoires, du concept de nombres pseudo-aléatoires et sécurisés.

Modificateurs d'accès en C# Modificateurs d'accès en C# Sep 03, 2024 pm 03:24 PM

Guide des modificateurs d'accès en C#. Nous avons discuté de l'introduction Types de modificateurs d'accès en C# ainsi que d'exemples et de résultats.

Vue Grille de données C# Vue Grille de données C# Sep 03, 2024 pm 03:32 PM

Guide de la vue Grille de données C#. Nous discutons ici des exemples de la façon dont une vue de grille de données peut être chargée et exportée à partir de la base de données SQL ou d'un fichier Excel.

Sérialisation C# Sérialisation C# Sep 03, 2024 pm 03:30 PM

Guide de sérialisation C#. Nous discutons ici de l'introduction, des étapes de l'objet de sérialisation C#, du fonctionnement et de l'exemple respectivement.

Modèles en C# Modèles en C# Sep 03, 2024 pm 03:33 PM

Guide des modèles en C#. Nous discutons ici de l'introduction et des 3 principaux types de modèles en C# ainsi que de ses exemples et de l'implémentation du code.

Nombres premiers en C# Nombres premiers en C# Sep 03, 2024 pm 03:35 PM

Guide des nombres premiers en C#. Nous discutons ici de l'introduction et des exemples de nombres premiers en c# ainsi que de l'implémentation du code.

Factorielle en C# Factorielle en C# Sep 03, 2024 pm 03:34 PM

Guide de Factorial en C#. Nous discutons ici de l'introduction de factorial en c# ainsi que de différents exemples et de l'implémentation du code.

See all articles