我正在尝试使用OnPropertyChanged事件,以便将我的类标记为已修改。
[NotifyPropertyChanged]
Public Class Employee
{
private bool hasChange;
public string FirstName { get; set; }
public string LastName { get; set; }
private static void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
{
hasChange = true;
}
}
OnPropertyChanged
很可能是错误的,但希望您能了解我想要做的事情?
谢谢,
詹姆斯
答案 0 :(得分:1)
您需要提供自己的OnPropertyChanged
方法,其签名与PostSharp生成的签名相同。因此,PostSharp将不会生成该方法,而是使用您的实现。这也意味着您需要自己在方法中引发事件。
[NotifyPropertyChanged]
public class Employee : INotifyPropertyChanged
{
private bool hasChange;
public string FirstName { get; set; }
public string LastName { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
hasChange = true;
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}