public void ActivateFireAlarm(string room, int ferocity) { FireEventArgs fireArgs = new FireEventArgs(room, ferocity); //执行对象事件处理函数指针,必须保证处理函数要和声明代理时的参数列表相同 //相当于调用函数 FireEvent(this, fireArgs); }
// 定义事件发起函数 void ExtinguishFire(object sender, FireEventArgs fe) { String notice = String.Format("The ExtinguishFire function was called by {0}.", sender.ToString()); fire_box.Items.Add(notice); if (fe.ferocity < 2) { String respond = String.Format("发生在{0} 的火情不大,快打点水", fe.room); fire_box.Items.Add(respond); } else if (fe.ferocity < 5) { String respond = String.Format("我在用灭火器扑灭{0}的火.", fe.room); fire_box.Items.Add(respond); } else { String respond = String.Format("在 {0} 的火情无法控制,已经打了119", fe.room); fire_box.Items.Add(respond); } }