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
Hallo Grimmbizkit
private string meineEigenschaft;
public string MeineEigenschaft
{
get{return meineEigenschaft;}
set
{
if(meineEigenschaft!=value)
{
meineEigenschaft=value;
MeineMethode();
}
}
}
Beste Grüsse
Diräkt
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"
Dann versuchs mit Delegate und erstelle Dir ein eigenes Event welches bei der änderung des Strings ausgelöst wird.
Siehe dazu [FAQ] Eigenen Event definieren
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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.