Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Event soll warten bist vorheriges Event fertig ist
DarkNight
myCSharp.de - Member



Dabei seit:
Beiträge: 1

Themenstarter:

Event soll warten bist vorheriges Event fertig ist

beantworten | zitieren | melden

Halllo Leute,

ich bin schon am verzweifeln.
Mein Problem: Ich würde gernen mein ErstesEvent Raisen und warten bis alle Klassen die dieses Event verwenden fertig sind und dann erst mein zweites Event Raisen.


Meine Farge ist das überhaupt möglich?
Wenn ja wie kann ich das machen?

Vielen Dank schonmal im vorraus.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Vllt erklärst Du erst mal den Sinn dahinter.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo DarkNight,

Events werden synchron ausgeführt. Es passiert also automatisch, was du willst. Zumindest wenn du mit "warten bis alle Klassen die dieses Event verwenden fertig sind" meinst, dass auf die Aufführung der EventHandler, die für das Event registriert wurden, gewartet werden soll.

Sollte das wirklich gewesen sein, was du wissen wolltest, beachte bitte [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

herbivore
private Nachricht | Beiträge des Benutzers
Programmierhans
myCSharp.de - Experte

Avatar #avatar-1651.gif


Dabei seit:
Beiträge: 4.221
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Zitat von herbivore
Events werden synchron ausgeführt. Es passiert also automatisch, was du willst.


Mit der Einschränkung, dass dies nur so ist, wenn die Events nicht aus eigenen Threads geworfen werden.

Gruss
Programmierhans
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Programmierhans,

auch dann werden sie synchron ausgeführt ... natürlich synchron zu dem Thread, der sie feuert. Wenn also dieser bewusste Thread die beiden Events hintereinander feuert, wird das zweite Event trotzdem erst ausgeführt, wenn alle EventHandler des ersten Events abgearbeitet wurden. Und darum ging es ja.

Dein Einwand würde also nur zum Tragen kommen, wenn das eine Event aus dem einen und das zweite Event aus einem anderen Thread gefeuert werden würde. Dafür sehe ich aber keine Anhaltspunkte.

Ich gehe dabei natürlich von normalen Events aus. Also nicht von solchen, die die Ausführung explizit an andere Threads delegieren, wie das z.B. bei den Events des BackgroundWorkers der Fall ist. Wenn man ein Event nach dem Muster in [FAQ] Eigenen Event definieren / Information zu Events (Ereignis/Ereignisse) implementiert, hat man so ein normales Event. Eine Delegierung an andere Threads müsste man explizit implementieren.

herbivore
private Nachricht | Beiträge des Benutzers