Silverlight 中 Notify 的两种常用写法,哪种更好用,你懂的。
#region INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
public void Notify(string name)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
public void Notify<T>(Expression<Func<T>> exp)
{
var memberExpression = exp.Body as MemberExpression;
if (memberExpression != null)
Notify(memberExpression.Member.Name);
}
#endregion
应用示例:
private string _name = string.Empty;
public string Name
{
get { return _name; }
set
{
_name = value;
Notify(() => Name);
}
}
private int _age;
public int Age
{
get { return _age; }
set
{
_age = value;
Notify("Age");
}
}