Microsoft hätte etwas Flottes für INotifyPropertyChanged
wie bei den automatischen Eigenschaften, geben Sie einfach {get; set; notify;}
Ich halte das für sehr sinnvoll. Oder gibt es dabei irgendwelche Komplikationen?
Können wir selbst so etwas wie "notify" in unseren Eigenschaften implementieren. Gibt es eine anmutige Lösung für die Implementierung von INotifyPropertyChanged
in Ihrer Klasse oder die einzige Möglichkeit, dies zu tun, besteht darin, die PropertyChanged
Ereignis in jeder Eigenschaft.
Wenn nicht, können wir etwas schreiben, um den Code automatisch zu generieren, der die PropertyChanged
Veranstaltung?
0 Stimmen
Siehe stackoverflow.com/questions/1329138/ für eine compilergeprüfte Art der Implementierung von INotifyPropertyChanged. Vermeidung von Eigenschaftsnamen als magische Zeichenkette.
8 Stimmen
code.google.com/p/notifypropertyweaver kann von Nutzen sein
9 Stimmen
Obiger Link ist tot. github.com/SimonCropp/NotifyPropertyWeaver
1 Stimmen
Obwohl ich adäquate Alternativen hatte, war nichts für mein Team so schmerzlos wie die Postsharp-Lösung Domänen-Toolkit (wird mit normalem Postsharp in der kommenden v3.0 gebündelt werden, denke ich). [NotifyPropertyChanged] auf die Klasse, [NotifyPropertyChangedIgnore] auf die Requisiten zu ignorieren.
3 Stimmen
Sie könnten stattdessen DependencyObject und DependencyProperties verwenden. HA! Ich habe einen Witz gemacht.
0 Stimmen
@Codest und jetzt ist dein Link tot
7 Stimmen
@joao2fast4u github.com/Fody/PropertyChanged/wiki/
0 Stimmen
Ich stimme mit dem Auftraggeber überein. Es ist wirklich traurig, dass es das in Roslyn noch nicht gibt. Außerdem muss es eine Möglichkeit geben, zu vermerken, dass eine Eigenschaft vom Wert einer anderen abhängig ist (idealerweise mit Attributen und dem nameof-Operator).
6 Stimmen
Zu dieser Zeit war es nicht möglich, Änderungen an C# vorzunehmen, da wir ein riesiges Backlog mit Abhängigkeiten hatten. Damals, als MVVM geboren wurde, haben wir uns nicht sonderlich um die Lösung dieses Problems bemüht, und ich weiß, dass das Patterns & Practices-Team ein paar Versuche unternommen hat (daher haben Sie auch MEF als Teil dieses Forschungs-Threads erhalten). Heute denke ich, dass [CallerMemberName] die Antwort auf das obige Problem ist.
0 Stimmen
Ich glaube, @tom-gilder hat eine bessere Antwort. stackoverflow.com/a/18002490/4062881
0 Stimmen
ObservableCollection
eliminiert die Notwendigkeit der ImplementierungOnPropertyChanged
für einfache Situationen. Siehe So geht's: Erstellen und Binden an eine ObservableCollection y ObservableCollection .