究竟是什么PropertyChanged.Notify扩展方法?

时间:2012-01-10 10:53:57

标签: c# .net

在这段代码中,我注意到.Notify方法是一种扩展方法。为什么以及这种方法背后的代码是什么?

    public class Notifier : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;

        (...)

        public void NotifyPropertyChanged(Expression<Func<object>> property)
        {
            this.PropertyChanged.Notify(property);
        }
    }

2 个答案:

答案 0 :(得分:2)

.NET框架不提供此扩展方法。因此,它是在代码中的某处创建的自定义扩展方法。要知道它究竟是什么,请导航到它并查看源代码(F12)。

一般来说,我认为它将使用从传递给它的表达式中提取的属性名称来引发PropertyChanged事件。

答案 1 :(得分:0)

INotifyPropertyChanged接口用于指定订阅的客户端已更改属性的值。要实现它,您必须声明一个PropertyChanged事件。

。如上所述,注意是一种扩展方法。这个的灵魂目的.Notify必须是提出这个事件。 在内部,它必须通过做这样的事情来提升事件

PropertyChanged(this, new PropertyChangedEventArgs(info));

有关详细信息,请查看MSDN