Wenn ich eine Klasse, die ich implementiert dann INotifyPropertyChanged
Schnittstelle deklarieren, ReSharper wird diese Implementierung automatisch generieren:Bearbeiten von ReSharper der INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
, die ich immer dabei, um bin der Bearbeitung:
public event PropertyChangedEventHandler PropertyChanged = delegate { };
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
Can Ich bearbeite irgendwie den automatisch erzeugten Code? Die Dokumentation von Resharper ist mir dabei weniger klar.
Warum ist es so wichtig, die Fadensicherheit zu entfernen? Kopieren> check> invike ist eine bewährte Methode. –
Ich könnte verstehen, auf C# 6 Standards zu ändern, wenn Sie VS 2015 verwenden, aber die hier beschriebene Änderung ist eine schlechte Änderung zu machen ... –
Könnte mir bitte jemand erklären, wie die Änderung dieses Codes Thread-Sicherheit entfernt? Ich verstehe nicht, warum das eine schlechte Wahl ist. Warum müssen Sie kopieren/überprüfen/aufrufen, wenn Sie wissen, dass das Ereignis definiert wurde und _never_ null ist? Nicht kämpferisch sein; Ich verstehe es wirklich nicht. –