文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C# 中的事件

C# 中的事件

时间:2010-12-27  来源:hfliyi

事件可以有许多订阅的处理程序,在该事件发生时候,这些处理程序都会被调用,其中包括引发该事件的对象所在的类的处理程序,但事件处理程序可能在其他类中。
事件处理程序本身都是简单的函数。对事件处理程序函数的唯一的限制是它必须匹配事件所要求的签名(返回类型和参数)。这个签名是事件定义的一部分,有一个委托指定。

代码
 1  class Event1
2 {
3 static int counter = 0;
4 static string displayString = "This string will appear one letter at a time";
5 static void Main(string[] args)
6 {
7 Timer timers = new Timer(100);
8 timers.Elapsed += new ElapsedEventHandler(timers_Elapsed);
9 timers.Start();
10 Console.ReadKey();
11
12 }
13
14 static void timers_Elapsed(object sender, ElapsedEventArgs e)
15 {
16 Console.Write(displayString[counter++ % displayString.Length]);
17 }
18 }
用于引发事件的对象是System.Timers.Timer类的一个实例。使用一个时间段来初始化该对象,当使用Start方法启动Timer对象时,就引发一系列事件,根据指定的时间段来引发事件。Timer对象有一个Elapsed事件,这个事件要求的事件处理程序签名是System.Timers.ElapsedEventHandler委托类型, 该委托是.NET FRAMEWORK中定义的标准委托之一,用于与下述签名匹配的函数
void functionName(object source , ElapsedEventArgs e);

把处理程序与事件关联起来,即订阅它,使用+=运算符,给事件添加一个处理程序,其形式使用事件处理方法初始化的一个新委托的实例。

相关阅读 更多 +
排行榜 更多 +
白银之城手游官服下载

白银之城手游官服下载

角色扮演 下载
像素赛车手魔改版下载

像素赛车手魔改版下载

赛车竞速 下载
全民摆摊免广告版下载

全民摆摊免广告版下载

模拟经营 下载