WEB开发网
开发学院软件开发C语言 C#3.0笔记(二)预备知识之委托与事件 阅读

C#3.0笔记(二)预备知识之委托与事件

 2009-05-18 08:28:07 来源:WEB开发网   
核心提示: 客户端调用:staticvoidMain(string[]args){EventCarbmw=newEventCar("Henllyee",110);bmw.AbortToBlow+=newEventCar.CarEventHandler(CarAboutToBlow)

客户端调用:

  static void Main(string[] args)
  {
    EventCar bmw = new EventCar("Henllyee", 110);
    bmw.AbortToBlow += new EventCar.CarEventHandler(CarAboutToBlow);
    bmw.Exploded += new EventCar.CarEventHandler(CarExploede);
    for (var i = 0; i < 10; i++)
    {
      bmw.Accelerate(20);
      Console.ReadLine();
    }
  } 
   public static void CarAboutToBlow(string msg)
   {
    Console.WriteLine(msg);
   }

    public static void CarExploede(string msg)
   {
    Console.WriteLine(msg);
   }

运行效果:

C#3.0笔记(二)预备知识之委托与事件

图片看不清楚?请点击这里查看原图(大图)。

规范的事件与匿名方法

我们看我们定义的事件似乎跟底层的事件有点不一样,底层的委托的第一个参数一般为System.Object类型的,第二个参数一般为派生自System.EventArgs类型的。第一个参数一般表示发送事件的对象,第二个参数表示与该事件相关的参数。我们可以定义个CarEventArgs:

上一页  1 2 3 4 5  下一页

Tags:笔记 预备 知识

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接