Kiedy mam klasę, która Oświadczam wdraża następnie INotifyPropertyChanged
interfejs, ReSharper automatycznie wygenerować ten realizacji:Montaż ReSharper za INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
który ja zawsze edycji być tak:
public event PropertyChangedEventHandler PropertyChanged = delegate { };
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
Can W jakiś sposób edytuję automatycznie wygenerowany kod? Dokumentacja Resharpera jest dla mnie mniej jasna.
Dlaczego usunięcie nici jest tak ważne? Copy> check> invike to najlepsza praktyka. –
Mogę zrozumieć, chcąc zmienić na standardy C# 6, jeśli używasz VS 2015, ale zmiana opisana tutaj jest kiepską zmianą, aby ... –
Czy ktoś mógłby mi wyjaśnić, jak zmiana tego kodu usuwa bezpieczeństwo wątku? Nie rozumiem, dlaczego to kiepski wybór. Dlaczego musisz kopiować/sprawdzać/wywoływać, gdy _know_ zdarzenie zostało zdefiniowane i czy _never_ null? Nie będąc wojowniczym; Naprawdę nie rozumiem. –