我认为两者相同,但我发现它们只在一个文件中使用,例如下面的代码。这里是 raisepropertychanged 的代码。
public decimal Amount
{
get
{
return _amount;
}
set
{
_amount = value;
RaisePropertyChanged("Amount");
}
}
这里是 PropertyChanged 的代码:
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName)
{
// take a copy to prevent thread issues
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
请解释一下它们的区别:
最佳答案
PropertyChanged
是一个事件。 RaisePropertyChanged
是用于引发事件的方法。
当然,您可以直接从您的属性 setter 调用事件,但是您必须每次都检查处理程序是否不为空...最好在一个地方执行。
关于c# - raisepropertychanged 和 PropertyChanged 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10669829/