public class Alex
{
internal void AlarmEventHandler(object sender, ElapsedEventArgs e)
{
Console.WriteLine("闹钟响了, 我不管");
}
}
public class RoomMate
{
public int RageValue { get; set; }
internal void AlarmEventHandler(object sender, ElapsedEventArgs e)
{
RageValue += 25;
if(RageValue >= 100)
{
Console.WriteLine("受不了了");
((Timer)sender).Stop();
}
Console.WriteLine("闹钟响了, 我也不管");
}
}
var alex = new Alex();//3、事件响应者
定义一个定时器:
Timer alarm = new Timer();//1、事件拥有者
设置每1s触发一次
alarm.Interval = 1000;
//定义事件
alarm.Elapsed += alex.AlarmEventHandler;//使用+=绑定事件处理器 2、事件alarm.Elapsed。4、事件处理器alex.AlarmEventHandler(类中自定义的)。5、事件订阅+=
//启动事件
alarm.start();
sender就是事件拥有者alarm
EventHandler是事件处理的后缀声明