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
Instanzvariable einer Klasse bei jeder Änderung überprüfen?
Lotus
myCSharp.de - Member



Dabei seit:
Beiträge: 77

Themenstarter:

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

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1436
Herkunft: Schweiz

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von m0rius am .
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
Lotus
myCSharp.de - Member



Dabei seit:
Beiträge: 77

Themenstarter:

beantworten | zitieren | melden

Danke ihr beiden.
Das deckt sich mit dem was ich jetzt gemacht habe :-)
Scheint wohl auch das einfachste zu sein.
private Nachricht | Beiträge des Benutzers