Veröffentlicht 28. Januar 20205 j Halli Hallo, ich bearbeite gerade einen E-Learning Kurs zum Thema MVVM. Kann mir jemand folgenden Code erklären: public event PropertyChangedEventHandler PropertyChanged; private void onPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } Was genau bewirkt die .Invoke Methode? Bearbeitet 28. Januar 20205 j von InTheVoid
28. Januar 20205 j Du machst nichts anderes, als den Handler zum Event aufzurufen. Wirderzeugt, wenn du dein INotifyPropertyChanged implementierst. Ist aber kein Unterschied, als ob du PropertyChanged(this, new PropertyChangedEventArgs(propertyName)) angeben würdest. mit PropertyChanged?.Invoke() sparst du dir die NULL Überprüfung durch NULL-Conditionals https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/operators/member-access-operators#null-conditional-operators--and- Falls du es schwer verstehst => denk einfach an das MouseDoubleClick Event...bei dem Event gibst du auch nur object sender und MouseButtonEventArgs e mit...aber du prüfst ja nicht irgendwo selber, ob die Maus geklickt wurde. Bearbeitet 28. Januar 20205 j von KeeperOfCoffee
28. Januar 20205 j zur Info: du könntest auch protected void OnPropertyChanged([CallerMemberName]string name = "") { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); } schreiben ... dadruch wird der Methodenname automatisch übergeben, wenn du onPropertyChanged() in deinen Settern aufrufst ... dadurch sparst du dir an der Stelle den Methodennamen anzugeben. Bearbeitet 28. Januar 20205 j von KeeperOfCoffee
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.