如何使用PropertyChangedEventHandler?
您能告诉我类的Initalize方法中的这段代码是做什么的吗?
我们正在处理的项目中有一个类具有私有的Initialize方法。我想讨论这种方法中的一些代码。
但首先,让我描述一下课程。该类的定义如下:
公共课Skoobie:BaseThingy,ISkoobie
因此,这意味着“ Skoobie”类有两个从其继承的父类。这有什么含义?
无论如何,因此Initalize方法是这样的:
private void Initialize()
{
this.PropertyChanged += (o, e) =>
{
If (e != null)
{
// some stuff is done
}
};
}
现在,“ PropertyCHanged”是父类“ BaseThingy”的成员,其定义如下:
公共事件PropertyChangedEventHandler PropertyChanged;
this.PropertyChanged + =(o,e)=> ...的代码是什么?它是LINQ的东西吗?
最佳答案
这是一个lambda表达式(http://msdn.microsoft.com/en-us/library/bb397687.aspx),将被添加到PropertyChanged事件中。此事件在INotifyPropertyChanged接口中定义:http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx
对于诸如WPF / Silverlight中的数据绑定之类的事件,此事件至关重要。您可以自己使用它来将数据对象设置为脏对象。希望这可以帮助。
同样对于公共类Skoobie:BaseThingy,ISkoobie C#没有多重继承。但是,您可以实现多个接口(在您的情况下,ISkoobie是一个接口,而BaseThingy是基类)