Hallo zusammen,
ich brauche bitte etwas Hilfe bei einem möglichen Denkfehler, der mich jetzt schon eine Weile begleitet.
Ich erstelle aus einer Klasse1 eine oder mehrere Instanzen aus Klasse2, in welcher ein Event aufgerufen wird. Durch dieses Event soll eine Funktion in Klasse 1 aufgerufen werden.
Nun meine Frage. Brauche ich hierzu wieder eine neue Instanz von Klasse1 in Klasse2 oder muss ich beim Initialisieren von Klasse2 die aktuelle Instanz von Klasse1 an Klasse2 (mit this) mitgeben und dann auf diese überlieferte Instanz von Klasse 1 zugreifen.
Oder muss ich die Funktion in Klasse1 als static deklarieren. Das funktioniert zwar, erscheint mir aber etwas unsauber.
Das mit dem "Überliefern" klappt nicht so ganz.
danke schon mal für eure Hilfe.
Hi,
du könntest nach dem Erstellen der Klasse2-Objekte das entsprechende Event abonnieren und dann entsprechend die Aktion innerhalb von Klasse1 ausführen. Dadurch weiß Klasse2 nichts von Klasse1.
Hallo und willkommen,
bei einem Ereignis (event) sollte Klasse2 gar nichts von Klasse1 wissen, denn dies ist der Sinn der Entkopplung. In der Ereignismethode von Klasse1 kannst du dann ja (mittels "this") auf die Member direkt zugreifen.
Weitere Infos dazu findest du in [FAQ] Eigenen Event definieren / Information zu Events (Ereignis/Ereignisse) sowie [FAQ] Kommunikation von 2 Forms (oder mein eigener Artikel dazu, s. meine Signatur).