这句代码是什么意思?public event PropertyChangedEventHandler PropertyChanged;

这个是什么意思?PropertyChanged到底是event类型还是PropertyChangedEventHandler类型?... 这个是什么意思?
PropertyChanged到底是event类型还是PropertyChangedEventHandler类型?
展开
 我来答
百度网友bf19c81
2014-08-02 · TA获得超过1001个赞
知道小有建树答主
回答量:876
采纳率:0%
帮助的人:438万
展开全部
是事件委托。
所谓“事件委托”,一个事件的本质是一个委托(因为事件是委托类型的)。而委托的好处在于它可以动态调用不同类之间具备相同函数签名(函数参数顺序、类型、个数相同),且函数返回值必须完全相同的函数。我先举一个委托的例子:
namespace A
{

public delegate void Say(); //委托

class Dog
{
public void Say()
{
Console.WriteLine("汪汪!");
}
}
class Cat
{
public void Say()
{
Console.WriteLine("喵喵!");
}
}
public class MainTest
{
static void Main(string[] args)
{
Say s = new Say(new Dog().Say); //告诉委托调用Dog类中的Say方法
s += new Cat().Say; //同时告诉委托调用Cat类中的Say方法
s();
}
}
}
Dog和Cat类毫无联系,但是却可以通过委托连接起来关系,我们说委托具备“跨类调用”函数的特性。
因此,我们再来看一个事件的应用:
public class MyClass
{

public event EventHandler MyEvent = null; //EventHandler是一个系统委托,一般用于定义事件

………………

public void MyMethod() //这是一个引发事件的方法,一旦调用该方法,必然触发事件

{

………………

//引发一个事件!!

MyEvent(this,null);

}

}

主函数中:

MyClass mc = new MyClass();

mc.MyEvent+=new EventHandler(MyEvent_Raised);

………………

static void MyEvent_Raised(object sender, EventArgs e)

{

……………… //做你想做的事情

}
事件的实例化是在使用到包含这个事件的实体类时候(比如在主函数需要调用的时候)。通过+=进行实体化;然后当调用实体的MyMethod方法时候,这个方法将引发一个事件,也就是触发了绑定的MyEvent_Raised方法。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式