2 Stimmen

Ereignisse in C# - Definition und Beispiel

Was sind Ereignisse in C#? Können Sie mir ein klares Echtzeitbeispiel und Programm geben?

5 Stimmen

Bitte versuchen Sie, Ihre Frage umzufassen. Es scheint, als würden Sie sich zurücklehnen und darauf warten, dass jemand Ihre Arbeit erledigt, anstatt Ihnen zu helfen, Ihre Arbeit zu erledigen.

10voto

Lasse V. Karlsen Punkte 364542

Ein Ereignis ist ein Hook an einem Objekt, über den das Objekt sagen kann "Hey, es steht etwas Interessantes bevor" (oder ist gerade passiert), und der Code außerhalb des Objekts kann (bevor das etwas passiert) sagen "Ich bin an dieser Nachricht interessiert".

Nehmen Sie zum Beispiel Schaltflächen, dieser Code:

btOK.Click += new EventHandler(btOK_Click);

Dies sagt der Schaltfläche: Hey, wenn du das Click-Ereignis auslösen möchtest (das ausgelöst wird, wenn der Benutzer auf die Schaltfläche klickt), lass es mich wissen, indem du meine Methode btOK_Click aufrufst.

Sie können es auch anders betrachten. Angenommen, Sie haben einen gelben Zettel an Ihrem Monitor, auf dem steht "Wenn der Code aufhört zu kompilieren, rufen Sie bitte Frank an", das ist ein Ereignis. Was Frank tut, wenn Sie ihn anrufen, das ist der "Ereignis-Handler", der "Code", der als Antwort auf Ihr Ereignis ausgeführt wird.

Also die Begriffe lauten:

  • Ereignis: Ein Hook an einem Objekt, über den Code außerhalb des Objekts sagen kann "Wenn dieses Etwas passiert, das dieses Ereignis auslöst, rufen Sie bitte meinen Code auf"
  • Ereignis-Handler: Der Code, der aufgerufen wird, wenn das Ereignis ausgelöst wird
  • Ereignis auslösen: Im Grunde genommen dasselbe wie aufrufen, es ist nur ein anderes Wort für im Grunde dasselbe

Es gibt viele Informationen im Web über Ereignisse und .NET/C#:

oder ... Sie können auch hier spezifischere Fragen stellen, und ich bin sicher, dass jemand Ihnen helfen wird, die Details zu verstehen.

Fröhliches Ereignisbehandeln.

4voto

Wim Punkte 11852

Probieren Sie das C# Events Tutorial auf MSDN.

Zusammenfassung:

Ein Ereignis in C# ist eine Möglichkeit für eine Klasse, Benachrichtigungen an Clients dieser Klasse bereitzustellen, wenn etwas Interessantes mit einem Objekt passiert. Der bekannteste Verwendungszweck für Ereignisse liegt in grafischen Benutzeroberflächen; in der Regel haben die Klassen, die Steuerelemente in der Benutzeroberfläche darstellen, Ereignisse, die benachrichtigt werden, wenn der Benutzer etwas mit dem Steuerelement macht (zum Beispiel, auf eine Schaltfläche klicken).

2voto

Graviton Punkte 79320

Ereignisse sind die Methoden, die Sie zur Laufzeit von Ihrem Code aus aufrufen können.

0 Stimmen

Schöne und präzise Erklärung.

1voto

Hans Passant Punkte 894572

Ein Ereignis ist ein Accessor für ein Delegatenobjekt, genauso wie eine Eigenschaft ein Accessor für ein Feld ist. Die Accessoren sind mit "hinzufügen" und "entfernen" benannt anstatt mit "holen" und "setzen". Ein Unterschied besteht darin, dass der Compiler automatisch Accessoren generiert, wenn Sie keine eigenen bereitstellen.

Sie können nicht verstehen, was ein Ereignis wirklich macht, bis Sie verstanden haben, was ein Delegat macht. Suchen Sie nach diesem Schlüsselwort bei Google.

0voto

Richard Ev Punkte 50770

Wikipedia bietet einen guten Überblick über Ereignisse

http://en.wikipedia.org/wiki/Event_(computing)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X