Ereignisse



  • Hi,

    kann mir jemand kurz erlären, was an den Ereignissen so toll ist. Habe ein erstes Beispiel gesehen, in dem ein Wert per if-Abfrage verglichen wurde. Bei Unterschreitung einer Grenze wurde dann das Ereignis gefeuert und ein Text in einem Label des Forms ausgegeben.

    Nun mein Problem ist, wenn ich eine Abfrage brauche um ein Ereignis zu steuern, kann ich doch gleich mit dem Abfrageergebnis die Funktion aufrufen, die am Eventhandler angemeledet ist. Ich erkenn irgendwie den Vorteil hiervon nicht.

    Vielen Dank



  • Code?



  • Du hast ein ungünstiges Beispiel erwischt - das macht bei dem Ding keinen Sinn

    der Vorteil in Events liegt darin das niemand auf das Event achten musst und Du das Event ohne Überprüfung feuern kannst ... Callbacks musst Du im Normalfall immer auf nullptr überprüfen - sonst landest Du im Nirvana ... bei Events eben nicht ... die Überprüfung übernimmt die CLR



  • Ereignisse dienen in erster Linie der Entkoppelung von Klassen, d.h. daß die ereignisauslösende Klasse gar nicht wissen braucht, welche andere Klasse dieses Ereignis abonniert. Das typische Beispiel dafür sind die Standardereignisse bei Komponenten (z.B. Buttonclick, KeyPress etc.) sowie die Entkoppelung von GUI und Logik-Klassen.
    Ein Projekt sollte immer hierarchisch organisiert sein, d.h. die übergeordnete Klasse kennt seine untergeordneten, aber nicht umgekehrt. Und wenn dann doch ein Datenfluß nach oben passieren soll, definiert man dann Ereignisse in den untergeordneten Klassen, welche dann z.B. von der GUI-Klasse (Form) abonniert werden.



  • Vielen Dank für die Antworten, werden damit noch ein bisschen probieren, denke ich brauche mehr Praxis.....


Anmelden zum Antworten