I saw a lot of the following usage of event handler. Why they assign the handler to a local variable and then use the local variable?
event EventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName)
{
var temp = PropertyChanged;
if (temp != null)
temp(this, new PropertyChangedEventArgs(propertyName));
// why not just "if (PropertyChanged != null) PropertyChanged(...)"
}