Hallo,
ich habe aktuell das Problem, dass ich auf die Änderung eines Wertes in einer (Unter-)Klasse reagieren will. Mir fällt leider aktuell nur keine saubere Struktur, mit der ich das Problem lösen kann, ein. Bei der Verschachtelung der Klassen ist es leider mit einem Event nicht getan.
Meine beiden Lösungsansätze wären die Datenstruktur zu ändern, aber die bekomme ich von außen per JSON und sie wird dann direkt in die Klassenstruktur umgesetzt. Des Weiteren kann ich mir noch eine Eventkette vorstellen, bei der ein Event ein anderes auslöst, bis ich an der gewünschten Position angekommen bin. Von den Ideen bin ich bisher noch nicht ganz überzeugt. Habt ihr einen besseren Ansatz?
Habe meine Klassenstruktur mal stark vereinfacht dargestellt:
Liebe Grüße
K4RTOFF3L
ich habe aktuell das Problem, dass ich auf die Änderung eines Wertes in einer (Unter-)Klasse reagieren will. Mir fällt leider aktuell nur keine saubere Struktur, mit der ich das Problem lösen kann, ein. Bei der Verschachtelung der Klassen ist es leider mit einem Event nicht getan.
Meine beiden Lösungsansätze wären die Datenstruktur zu ändern, aber die bekomme ich von außen per JSON und sie wird dann direkt in die Klassenstruktur umgesetzt. Des Weiteren kann ich mir noch eine Eventkette vorstellen, bei der ein Event ein anderes auslöst, bis ich an der gewünschten Position angekommen bin. Von den Ideen bin ich bisher noch nicht ganz überzeugt. Habt ihr einen besseren Ansatz?
Habe meine Klassenstruktur mal stark vereinfacht dargestellt:
VB.NET-Quellcode
- Class Hauptsammlung
- Dim WithEvents Daten As New Nebensammlung
- Sub ReaktionWert1() 'Soll auf Änderung von Wert1 reagieren
- End Sub
- End Class
- Public Class Nebensammlung
- Public Werte As New Wertesammlung 'davon gibt es 5-6 Stück im eigentlichen Programm
- End Class
- Public Class Wertesammlung
- Public Werte As New Wert 'davon etwa 7-8 Stück im eigentlichen Programm
- End Class
- Public Class Wert
- Private _Wert1 As Integer 'etwa 30 Werte im eigentlichen Programm
- Public Property Wert1 As Integer
- Get
- Wert1 = _Wert1
- End Get
- Set(value As Integer)
- If True Then
- _Wert1 = value 'Hier soll das Event aufgerufen werden
- End If
- End Set
- End Property
- End Class
Liebe Grüße
K4RTOFF3L
Gruß K4RTOFF3L
Das Problem zu erkennen ist wichtiger, als die Lösung zu erkennen, denn die genaue Darstellung des Problems führt zur Lösung. - Albert Einstein