Зачем нужна эта конструкция - PropertyChangedEventHandler handler = this.PropertyChanged?

Статья http://msdn.microsoft.com/en-us/magazine/dd419663. aspx имеет следующий пример кода:

public event PropertyChangedEventHandler PropertyChanged;

protected virtual void OnPropertyChanged(string propertyName)
{       
    PropertyChangedEventHandler handler = this.PropertyChanged;
    if (handler != null)
    {
        var e = new PropertyChangedEventArgs(propertyName);
        handler(this, e);
    }
}

Мой вопрос заключается в том, что можно получить, введя переменную 'обработчик' - следующий код, кажется, работает нормально:

public event PropertyChangedEventHandler PropertyChanged;

protected virtual void OnPropertyChanged(string propertyName)
{   
    if (PropertyChanged!= null)
    {
        var e = new PropertyChangedEventArgs(propertyName);
        PropertyChanged(this, e);
    }
}

6
задан Frédéric Hamidi 20 December 2010 в 13:04
поделиться