Utilisation de l'Object Sender en C#

Saad Aslam 12 octobre 2023
  1. Vue d’ensemble de l’Object Sender en C#
  2. Utilisation de l’Object Sender en C#
Utilisation de l'Object Sender en C#

Cet article explique ce qu’est un expéditeur d’objet et comment il peut être utilisé en C#.

Vue d’ensemble de l’Object Sender en C#

Lors du développement d’une application C# et de la gestion des événements, l’un des arguments est l’expéditeur de l’objet C#. Et c’est un paramètre pour établir une référence à l’objet déclenché pour les événements qui sont utilisés pour demander au gestionnaire de mapper le bon objet.

A l’aide de la classe EventArgs, on peut fournir les arguments des méthodes ; cependant, dans le cas des paramètres ou événements statiques, la valeur deviendra nulle. Pour utiliser ces classes partout où l’utilisateur le souhaite dans l’application, la classe EventArgs et sa fonction Object() { [native code] } sont utilisées pour créer les objets.

Ces classes sont tirées des frameworks par défaut.

Utilisation de l’Object Sender en C#

Lorsque nous souhaitons utiliser les méthodes, les mots-clés et les variables d’une classe spécifique pour générer des objets pour cette classe, cela peut être fait car un objet est la classe racine et parent de l’application en C#.

using System;
using System.Web;

Access modifiers class name {
  Access modifiers return type function_name(object referencename(sender),
                                             EventArgs referencename) {
    // some C# code logic depends upon the user requirement
  }
}

Les codes mentionnés ci-dessus fournissent la syntaxe fondamentale pour utiliser et accéder aux objets de classe d’un emplacement à un autre. Le gestionnaire et EventArgs géreront les objets produits.

L’expéditeur est l’un des arguments de l’objet générique dans le langage C#, et il est également utilisé pour construire l’instance de l’objet. Les événements d’application appropriés déclenchent cela.

Le mécanisme de gestion des événements et de construction d’objets, connu sous le nom de gestionnaire d’événements, est utilisé pour gérer cet événement. Que nous utilisions des événements statiques, les valeurs des paramètres sont toujours nulles ; cependant, les valeurs varient lorsque nous utilisons des mots-clés statiques ou dynamiques.

Une méthode connectée à un événement est appelée un gestionnaire d’événements. Le code inclus dans le gestionnaire d’événements est exécuté lorsque l’événement est déclenché.

Deux paramètres sont fournis par chaque gestionnaire d’événement afin que vous puissiez gérer correctement l’événement. Les gestionnaires d’événements sont l’un des principaux moyens d’exécuter des objets qui dépendent des demandes des clients ; la réponse est ensuite déclenchée en réponse aux événements particuliers qui auront lieu dans l’application.

L’expéditeur est l’un des principaux contrôles qui peuvent être utilisés pour démarrer les événements car il provoque le déclenchement et l’exécution de l’événement en raison de la référence de l’expéditeur de l’objet.

L’un des événements de l’interface utilisateur est le bouton, principalement utilisé pour les activités de l’utilisateur et les tâches de backend. Les données du client seront évaluées à la fois par le front et le back-end chaque fois que nous cliquons sur le bouton de l’expéditeur, déclenchons l’événement et entraînons l’exécution d’activités selon les besoins de l’utilisateur.

En termes plus simples, vous pouvez dire que l’élément qui a déclenché l’événement est connu sous le nom d’expéditeur. Des détails supplémentaires sur l’événement sont contenus dans EventArgs.

using System;

public class exmp {
  public event EventHandler evnts {
    add {
      Console.WriteLine("Welcome Example Started");
    }
    remove {
      Console.WriteLine("provide inputs");
    }
  }
}

public class examp {
  public void demo() {
    exmp emp = new exmp();
    emp.evnts += third;
    emp.evnts -= third;
  }
  public void third(object snd, EventArgs er) {}
  public static void Main(string[] args) {
    examp examp = new examp();
    examp.demo();
    Console.ReadKey();
    Console.WriteLine("Your events are started and executed successfully");
  }
}

Le premier paramètre, snd, fournit une référence à l’objet qui a déclenché l’événement. Dans l’exemple ci-dessus, le second paramètre, noté par les lettres er, transmet un objet unique à l’événement manipulé.

Pour ajouter et supprimer les données de la mémoire, nous utilisons les mots-clés par défaut de la classe des gestionnaires d’événements, add remove. Chaque instance de classe et ses méthodes calculent ces valeurs et les utilisent ; si la méthode accepte des paramètres, son instance sera utilisée pour appeler et transmettre les paramètres.

Le même gestionnaire d’événements peut également gérer le même événement pour d’autres contrôles. Par exemple, si un formulaire contient une collection de contrôles RadioButton, vous pouvez créer un seul gestionnaire d’événements pour l’événement Click et lier l’événement Click de chaque contrôle au gestionnaire d’événements unique.

Il existe également de nombreuses autres façons d’utiliser l’expéditeur d’objet et les arguments d’événement pour gérer les événements, comme lorsqu’un objet est formé et que de la mémoire est allouée, les méthodes prédéfinies OnChanged(), Add() et Clear() sont utilisés pour nettoyer les corbeilles. Si nous souhaitons supprimer une référence indésirable, nous pouvons utiliser les méthodes par défaut clear() et remove().

Nous pouvons utiliser les méthodes par défaut pour construire et transmettre la référence d’objet tout en utilisant le même mécanisme d’expéditeur d’objet et de gestionnaire d’événements. Nous pouvons générer les deux événements distincts, les appeler via leurs instances et produire chaque instance affichée sur la console de sortie.

Certaines règles et réglementations existent pour que l’expéditeur de l’objet soit utilisé correctement. Et les meilleures pratiques sont également mentionnées ci-dessous.

  • Seul l’objet expéditeur sera exécuté avec ses actions utilisateur s’il contient les EventArgs avec instances. Par conséquent, l’expéditeur de l’objet doit contenir les arguments d’événement en tant que paramètre.
  • Dans les grands systèmes d’entreprise, il faut plus de temps pour créer et affecter des objets, et il faut également plus de temps pour transférer leurs références.
  • Il évite le blocage dans les threads de processus en utilisant la synchronisation. Essayez donc de vous synchroniser pour éviter les blocages.
  • Créez un objet délégué dont la signature correspond précisément à la signature de méthode que vous tentez d’encapsuler.
  • Définissez toutes les procédures dont les signatures correspondent à celles de l’objet délégué que vous avez créé à l’étape quatre.
  • Les méthodes que vous souhaitez encapsuler doivent être connectées à un objet délégué que vous créez.
  • Utilisez l’objet délégué pour appeler les méthodes contenues.

C# a sa syntaxe et ses conventions pour utiliser le code de manière plus complexe et éviter les duplications et les répétitions de code car il possède de nombreux mots-clés, méthodes et attributs prédéfinis pour chaque ensemble de composants. L’expéditeur est l’un des arguments passés aux méthodes pour leur référence de classe et leurs utilisations, tout comme cet objet.

Auteur: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn