Laden...

Bei Änderung einer Variable eine Methode ausführen

Erstellt von Grimmbizkit vor 11 Jahren Letzter Beitrag vor 11 Jahren 647 Views
G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 11 Jahren
Bei Änderung einer Variable eine Methode ausführen

Morgen zusammen,

ich suche eine Möglichkeit bei Änderung einer Variable (String) eine Methode auszuführen. Ich möchte das ungerne per Timer machen, da diese Änderung sehr schnell passieren kann (Logging)

Wie kann ich das am schönsten lösen?
Bin ich da bei Callbacks richtig?

Danke jetzt schon mal für eure Hilfen.

Gruß Simon

D
615 Beiträge seit 2009
vor 11 Jahren

Hallo Grimmbizkit



private string meineEigenschaft;

public string MeineEigenschaft
{
  get{return meineEigenschaft;}
  set
  {
    if(meineEigenschaft!=value)
    {
      meineEigenschaft=value;
      MeineMethode();
    }
  }
}


Beste Grüsse

Diräkt

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 11 Jahren

Morgen Diräkt,

ich habe vergessen zu erwähnen, das die Methode nicht in der gleichen klasse ist. Mit der Klasse soll eine ListBox gefüllt werden. Ich habe darauf aber keinen "direkten Zugriff"

N
135 Beiträge seit 2006
vor 11 Jahren

Dann versuchs mit Delegate und erstelle Dir ein eigenes Event welches bei der änderung des Strings ausgelöst wird.

Hinweis von herbivore vor 11 Jahren

Siehe dazu [FAQ] Eigenen Event definieren

16.806 Beiträge seit 2008
vor 11 Jahren

Dann solltest Du einen Event bereitstellen, der geworfen wird, sobald sich der Wert ändert - eventuell bietet sich direkt INotifyPropertyChanged an.

Aber eine Klasse sollte nicht direkt was so von ner andren, unbekannten Klasse aufrufen.
Erstrecht nicht irgendwas GUI-Abhängiges.

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 11 Jahren

Ich weiß das nicht die feine Englische Art ist. Allerdings soll das nur für die Testphase sein. Es handelt sich im einen Dienst, und damit ich in der Testphase nicht hunderte mal die Logging Datei öffnen muss wollte ich das mit einem Formular machen.