C# 定义事件
定义事件前,先要定义一个委托类型(delegate),以用于该事件。这个委托类型指定了事件处理方法必须遵循的签名。
定义委托:
这个委托类型称为MessageHandler,是void函数的签名,它有一个string参数。
定义了委托后就可以把事件本身定义为Connection类的一个成员:
给事件命名MessageArrived,用event关键字和要使用的委托类型声明它。
以这种方式声明了事件后,就可以引发它,方法是按名称来调用它。就好象它是其签名有委托指定的方法一样。可以用下面的代码引发这个事件。
如果定义该委托不包含任何参数,就可以使用下面的代码:
1.多用途的事件处理程序
Timer.Elapse事件的签名包含了事件处理程序中常见的两个参数,如下所示:
◆object source——引发事件的对象的引用;
◆ElapsedEventArgse——由事件传送的参数;
定义委托:
public delegate void MessageHandler(string messageText);
这个委托类型称为MessageHandler,是void函数的签名,它有一个string参数。
定义了委托后就可以把事件本身定义为Connection类的一个成员:
public class Connection <br/> {<br/> public event MessageHandler MessageArrived;<br/>
给事件命名MessageArrived,用event关键字和要使用的委托类型声明它。
以这种方式声明了事件后,就可以引发它,方法是按名称来调用它。就好象它是其签名有委托指定的方法一样。可以用下面的代码引发这个事件。
MessageArrived("This is a message");
如果定义该委托不包含任何参数,就可以使用下面的代码:
MessageArrived();
1.多用途的事件处理程序
Timer.Elapse事件的签名包含了事件处理程序中常见的两个参数,如下所示:
◆object source——引发事件的对象的引用;
◆ElapsedEventArgse——由事件传送的参数;
0 条留言
我要留言