Verwendung des Object Sender in C#

Saad Aslam 12 Oktober 2023
  1. Überblick über das Objekt Sender in C#
  2. Verwendung des Object Sender in C#
Verwendung des Object Sender in C#

In diesem Artikel wird erläutert, was ein Objektsender ist und wie er in C# verwendet werden kann.

Überblick über das Objekt Sender in C#

Bei der Entwicklung einer C#-Anwendung und der Behandlung von Ereignissen ist eines der Argumente der Absender des C#-Objekts. Und es ist ein Parameter, um einen Verweis auf das Objekt herzustellen, das für die Ereignisse ausgelöst wird, die verwendet werden, um den Handler anzuweisen, das richtige Objekt zuzuordnen.

Mit Hilfe der Klasse EventArgs können wir die Argumente der Methoden bereitstellen; Im Fall der statischen Parameter oder Ereignisse wird der Wert jedoch null. Um diese Klassen überall dort einzusetzen, wo der Benutzer es in der Anwendung benötigt, wird die Klasse EventArgs und ihre Funktion Object() { [native code] } verwendet, um die Objekte zu erstellen.

Diese Klassen werden aus den Standardframeworks gezogen.

Verwendung des Object Sender in C#

Wenn wir die Methoden, Schlüsselwörter und Variablen einer bestimmten Klasse verwenden möchten, um Objekte für diese Klasse zu generieren, ist dies möglich, da ein Objekt die Stamm- und übergeordnete Klasse der Anwendung in C# ist.

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
  }
}

Die oben erwähnten Codes stellen die grundlegende Syntax bereit, um Klassenobjekte von einem Ort zum anderen zu verwenden und darauf zuzugreifen. Der Handler und EventArgs behandeln die produzierten Objekte.

Der Sender ist eines der Argumente des generischen Objekts in der C#-Sprache und wird auch zum Erstellen der Objektinstanz verwendet. Die entsprechenden Anwendungsereignisse lösen dies aus.

Der Mechanismus zum Behandeln von Ereignissen und zum Erstellen von Objekten, der als Ereignishandler bezeichnet wird, wird zum Behandeln dieses Ereignisses verwendet. Unabhängig davon, ob wir statische Ereignisse verwenden, sind die Parameterwerte immer null; Die Werte variieren jedoch, wenn wir statische oder dynamische Schlüsselwörter verwenden.

Eine Methode, die mit einem Ereignis verbunden ist, wird als Ereignisbehandler bezeichnet. Der im Ereignishandler enthaltene Code wird ausgeführt, wenn das Ereignis ausgelöst wird.

Zwei Parameter werden von jedem Ereignishandler bereitgestellt, damit Sie das Ereignis korrekt behandeln können. Event-Handler sind eine der wichtigsten Methoden zum Ausführen von Objekten, die von Clientanforderungen abhängen. die Antwort wird dann als Reaktion auf bestimmte Ereignisse ausgelöst, die innerhalb der Anwendung stattfinden werden.

Der Absender ist eines der primären Steuerelemente, das zum Starten der Ereignisse verwendet werden kann, da er bewirkt, dass das Ereignis aufgrund der Objekt-Sender-Referenz ausgelöst und ausgeführt wird.

Eines der UI-Ereignisse ist die Schaltfläche, die hauptsächlich für Benutzeraktivitäten und Backend-Aufgaben verwendet wird. Die Daten des Clients werden sowohl vom Front- als auch vom Backend ausgewertet, wenn wir auf den Absender-Button klicken, das Ereignis auslösen und Aktivitäten nach den Anforderungen des Benutzers ausführen.

Einfacher ausgedrückt können Sie sagen, dass das Element, das das Ereignis ausgelöst hat, als Absender bezeichnet wird. Weitere Details zum Event sind in EventArgs enthalten.

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");
  }
}

Der erste Parameter snd stellt eine Referenz auf das Objekt bereit, das das Ereignis ausgelöst hat. Im obigen Beispiel überträgt der zweite Parameter, gekennzeichnet durch die Buchstaben er, ein für das behandelte Ereignis eindeutiges Objekt.

Um die Daten aus dem Speicher hinzuzufügen und zu löschen, verwenden wir die Standardschlüsselwörter der Event-Handler-Klasse, add remove. Jede Klasseninstanz und ihre Methoden berechnen diese Werte und verwenden sie; Wenn die Methode Parameter akzeptiert, wird ihre Instanz zum Aufrufen und Übergeben der Parameter verwendet.

Derselbe Ereignishandler kann dasselbe Ereignis auch für andere Steuerelemente verarbeiten. Wenn ein Formular beispielsweise eine Sammlung von RadioButton-Steuerelementen enthält, können Sie einen einzelnen Ereignishandler für das Click-Ereignis erstellen und das Click-Ereignis jedes Steuerelements an den einzelnen Ereignishandler binden.

Es gibt auch viele andere Möglichkeiten, den Objektsender und die Ereignisargumente zu verwenden, um die Ereignisse zu verarbeiten, z. B. wenn ein Objekt gebildet und Speicher zugewiesen wird, die vordefinierten Methoden OnChanged(), Add() und Clear() werden verwendet, um die Papierkorbsammlungen zu bereinigen. Wenn wir eine unerwünschte Referenz löschen möchten, können wir die Standardmethoden clear() und remove() verwenden.

Wir können die Standardmethoden verwenden, um die Objektreferenz zu erstellen und zu übertragen, während wir denselben Objekt-Sender- und Event-Handler-Mechanismus verwenden. Wir können die beiden unterschiedlichen Ereignisse generieren, sie über ihre Instanzen aufrufen und jede Instanz erzeugen, die auf der Ausgabekonsole angezeigt wird.

Es gibt einige Regeln und Vorschriften für die ordnungsgemäße Verwendung des Objektsenders. Und die Best Practices werden auch unten erwähnt.

  • Nur das Objekt Sender wird mit seinen Benutzeraktionen ausgeführt, wenn es die EventArgs mit Instanzen enthält. Daher muss der Objektsender die Ereignisargumente als Parameter enthalten.
  • In großen Unternehmenssystemen dauert es länger, Objekte zu erstellen und zuzuweisen, und es dauert auch länger, ihre Referenzen zu übertragen.
  • Es vermeidet den Deadlock in den Prozess-Threads durch den Einsatz von Synchronisation. Versuchen Sie also zu synchronisieren, um Deadlocks zu vermeiden.
  • Erstellen Sie ein Delegate-Objekt, dessen Signatur genau der Methodensignatur entspricht, die Sie zu kapseln versuchen.
  • Definieren Sie alle Prozeduren, deren Signaturen denen des Delegate-Objekts entsprechen, das Sie in Schritt vier erstellt haben.
  • Die Methoden, die Sie kapseln möchten, sollten in ein von Ihnen erstelltes Delegate-Objekt eingefügt werden.
  • Verwenden Sie das Delegate-Objekt, um die enthaltenen Methoden aufzurufen.

C# hat seine Syntax und Konventionen, um den Code komplexer zu verwenden und Duplikate und Codewiederholungen zu vermeiden, da es viele vordefinierte Schlüsselwörter, Methoden und Attribute für jeden Satz von Komponenten hat. Der Absender ist eines der Argumente, die den Methoden für ihre Klassenreferenz und Verwendung übergeben werden, genau wie dieses Objekt.

Autor: 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