我在另一个帖子上看到了这个问题,但是让我感到困惑...
public class MyClass : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
public string MyProperty
{
set
{
if (_myProperty != value)
{
_myProperty = value;
NotifyPropertyChanged("MyProperty");
}
}
}
}
MyClass myClass = new MyClass();
myClass.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e)
{
actual = e.PropertyName;
};
说实话,我对最后几行的作用感到困惑,为什么用户要将委托分配给事件?他们不会将方法分配给它(作为事件处理程序),甚至可以将匿名方法作为事件处理程序吗?
我认为事件旨在封装委托.....?