Laden...

Instanzvariable einer Klasse bei jeder Änderung überprüfen?

Erstellt von Lotus vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.140 Views
L
Lotus Themenstarter:in
73 Beiträge seit 2011
vor 12 Jahren
Instanzvariable einer Klasse bei jeder Änderung überprüfen?

Hallo,

ich habe eine Klasse mit einer Instanzvariable vom Typ int und einem Wert von 1000.

Ich möchte jetzt jedesmal, wenn der Wert dieser Variablen geändert wird, eine Überprüfung durchführen, ob die Variable < 0 ist und dann etwas bestimmtes machen.

Gibt es da eine gute Möglichkeit das umzusetzen? Ich hatte als erstes an das Observer-Prinzip gedacht, aber irgendwie glaub ich, dass sich das eher auf zwei Klassen und nicht auf eine Klasse und deren Instanzvariablen bezieht.

Ich könnte natürlich in der Methode, in der die Variable veränder, jedesmal die Methode aufrufen, die die Überprüfung starten soll, aber wenn die Klasse das von alleine machen würde, wäre das viel genialer.

Geht sowas? Falls ja, ist das ineffizient?

Hoffe auf viele Antworten!

1.433 Beiträge seit 2006
vor 12 Jahren

Wenn Du das Feld Property impelemntierst, kannst Du mit INotifyPropertyChanged bei jeder Änderung darauf reagieren.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

1.002 Beiträge seit 2007
vor 12 Jahren

Hallo Lotus,

du kannst die Überprüfung bzw. die auszuführende Aktion in den set-Accessor stecken, wenn du statt eines Feldes eine Eigenschaft verwendest. So ist sichergestellt, dass die entsprechende Methode bei jeder Änderung – evtl. auch nur unter einer bestimmten Bedingung – aufgerufen wird.

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

L
Lotus Themenstarter:in
73 Beiträge seit 2011
vor 12 Jahren

Danke ihr beiden.
Das deckt sich mit dem was ich jetzt gemacht habe 😃
Scheint wohl auch das einfachste zu sein.