实现事件处理程序,模拟车速控制程序,当输入的车速大于60时,触发控制事件,警告车速过快,并且要求降低车速 程序如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Event_Delegate { class Program { static void Main(string[] args) { long speed; CheckSpeed myCheckSpeed = new CheckSpeed(); DoSomeThing myDoSomeString = new DoSomeThing(); Console.Write("目前的行车速度是:"); speed = int.Parse(Console.ReadLine()); Console.WriteLine(""); myCheckSpeed.myEvent += myDoSomeString.SlowDown;//完成注册 myCheckSpeed.CheckSpeedLimit(speed); Console.ReadLine(); } } /// <summary> /// 事件数据类 /// </summary> public class SpeedCheckEventArgs : EventArgs { private long _Speed; public SpeedCheckEventArgs(long speed) { _Speed = speed; } /// <summary> /// Speed属性 /// </summary> public long Speed { get { return _Speed; } } /// <summary> /// 警告属性 /// </summary> public string WarningMessage { get { return "警告!行车超过限速"; } } } /// <summary> /// 声明委托 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public delegate void SpeedCheckHandler(object sender,SpeedCheckEventArgs e); /// <summary> /// 检查车速的类 /// </summary> public class CheckSpeed { public event SpeedCheckHandler myEvent; public void CheckSpeedLimit(long speed) { if (speed > 60) { SpeedCheckEventArgs speedsArgs = new SpeedCheckEventArgs(speed); myEvent(this, speedsArgs); } else { Console.WriteLine("车速正常"); } } } /// <summary> /// 处理类 /// </summary> public class DoSomeThing { public void SlowDown(object sender, SpeedCheckEventArgs e) { Console.WriteLine(e.WarningMessage); Console.WriteLine("您目前的车速是:{0},已经超速,请踩下油门,降低速度,避免危险!!!",e.Speed); Console.WriteLine("正常行车速度请将至60公里/小时以下!!"); } } }