看资料 C# 委托和事件的时候遇到一段话,请帮忙解释下:谢谢 20

于是,Event出场了,它封装了委托类型的变量,使得:在类的内部,不管你声明它是public还是protected,它总是private的。在类的外部,注册“+=”和注销“-=”的访问限定符与你在声明事件时使用的访问符相同。 什么叫在类的内部,它总是private。既然在类的内... 展开
发布于2009-06-22 09:11 最佳答案
而他们的访问修饰符是和事件一样的;类型的字段没区别,但是字段却是private的,这就是“在类的内部,而我相信你也看到这个字段是private的,不管你声明它是public还是protected;

如果你声明了一个事件。”的意思,你看起来是声明了一个字段一样的东西;
此方法用于注册和注销方法,它总是private的,其实他生成了三个部分:
public add_MouseClick(MouseEventHandler value),你在类的外面使用+=和-=的时候:

第一个是以“此事件所属委托类型”为类型的字段
private MouseClickEventHandler _mouseClick,其实C#编译器是调用的这两个方法;
你可以发现其实他和其他比如private string _name,他的类型使用的是事件所使用的类型,这里都是public现有这样一个事件声明
public event MouseClickEventHandler MouseClick;
public remove_MouseClick(MouseEventHandler value)。

剩下两个是两个方法,注册“+=”和注销“-=”的访问限定符与你在声明事件时使用的访问符相同。”的意思,就是“在类的外部,事件虽然是public的

草薙在

采纳率:40% 擅长: C#/.NET

为您推荐: