【发布时间】:2016-04-06 18:08:00
【问题描述】:
我进入 MVVM 并偶然发现了调用此 MWE 中显示的 OnPropertyChanged 函数的两个版本:
public class SampleModel : INotifyPropertyChanged
{
private string _name;
public string Name
{
get { return _name; }
set
{
if (value == _name) return;
_name = value;
// Version 1
OnPropertyChanged();
// Version 2
OnPropertyChanged(nameof(Name));
}
}
#region INotifyPropertyChanged members
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
}
为什么我会选择版本 1 而不是版本 2,反之亦然?
【问题讨论】:
标签: c# wpf mvvm inotifypropertychanged