How is PropertyChangedEventHandler used?
How is PropertyChangedEventHandler used? Can you tell me what this bit of code in a class' Initalize method does? There is a class in the project we are working on that has a private Initialize method. And there is a bit of code in this method that I want to discuss.
But first, let me describe the class. The class is defined as something like this: public class Skoobie : BaseThingy, ISkoobieSo, that means that the class, “Skoobie” has two parents that it is inheriting from. What are all the implications about this?
Anyway, so the Initalize method is something like this:
private void Initialize()
{
this.PropertyChanged += (o, e) =>
{
If (e != n开发者_开发问答ull)
{
// some stuff is done
}
};
}
Now, “PropertyCHanged” is a member of the parent class “BaseThingy” which is defined like this:
public event PropertyChangedEventHandler PropertyChanged; What is the code this.PropertyChanged += (o, e) =>... all about? Is it a LINQ thingy?
This is a lambda expression ( http://msdn.microsoft.com/en-us/library/bb397687.aspx ) that is being added to the PropertyChanged event.
This event is defined in the INotifyPropertyChanged Interface : http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx
This event is fundamental to things like Databinding in WPF / Silverlight . You would use it yourself for setting a data object as dirty. Hope this helps.
Also for public class Skoobie : BaseThingy, ISkoobie C# does not have multiple inheritance. You can however implement multiple Interfaces (in your case ISkoobie is an interface and BaseThingy is the base class)
精彩评论