raisepropertychanged和PropertyChanged有什么区别?

我认为两者都是相同的,但我发现只在一个文件中使用它们,例如下面的代码。其中代码为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)); } } 

plz解释它们之间的区别:

PropertyChanged是一个事件。 RaisePropertyChanged是用于引发事件的方法。

当然,您可以直接从属性设置器调用事件,但是如果处理程序不是null,则每次都必须检查…更好地在一个地方执行。