Maison  >  Article  >  développement back-end  >  Différence entre les délégués et les événements en C#

Différence entre les délégués et les événements en C#

WBOY
WBOYavant
2023-08-30 12:25:13876parcourir

C# 中的委托和事件之间的区别

Dans cet article, nous comprendrons la différence entre les délégués et les événements en C#.

Délégué

  • Il peut être déclaré à l'aide du mot-clé "délégué".
  • C'est un pointeur de fonction.

  • Il enregistre une référence à une ou plusieurs méthodes au moment de l'exécution.

  • C'est un mot-clé indépendant.

  • Cela ne dépend pas des événements

  • Il contient les méthodes Combine() et Remove() qui permettent d'ajouter des méthodes à la liste d'appels.

  • Il peut être passé en paramètre à une méthode.

  • L'opérateur "=" peut être utilisé pour attribuer une seule méthode.

  • L'opérateur "+=" peut être utilisé pour attribuer plusieurs méthodes à un délégué.

Événements

  • peuvent être déclarés à l'aide du mot-clé "événement".

  • Il peut être défini comme un mécanisme de notification qui repose sur la délégation.

  • Cela dépend de la commission.

  • Il ne peut être créé sans délégué.

  • Il peut être compris comme un wrapper pour les instances de délégué.

  • Cela permet d'empêcher les utilisateurs du délégué de réinitialiser le délégué et sa liste d'appels.

  • Il permet uniquement d'ajouter ou de supprimer des cibles de la liste d'appels.

  • La classe "EventInfo" vérifie les événements et aide à lier les gestionnaires d'événements.

  • Ces handles incluent des méthodes telles que AddEventHandler() et RemoveEventHandler(), qui permettent respectivement d'ajouter et de supprimer des méthodes à la liste d'appels.

  • peut déclencher des événements mais ne peut pas être transmis en tant que paramètres aux méthodes.

  • L'opérateur "=" ne peut pas être utilisé avec les événements.

  • Les opérateurs "+=" et "-=" peuvent être utilisés avec des événements pour ajouter ou supprimer des gestionnaires d'événements respectivement.

  • Ces méthodes seront appelées en interne comme AddEventHandler et Supprimez le gestionnaire d'événements.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer