事件二(.NET事件)

 C#允许编写各种类型的事件,但是为了与.NET框架的组件相兼容,必须遵循Microsft建立的一系列规则。这些规则的核心是,事件处理程序必须拥有两个参数。

  第一个参数是一个对事件发生器的对象引用,它指向产生该事件的对象;第二个参数是一个对EventArgs类或者其派生类的引用,它指定处理程序所需的其他信息。

 

  .NET兼容的事件处理通常采取下面的形式:

   void handler(object source,EventArgs arg){ }

 

  source参数一般有调用者传递给他一个this。EventArgs参数包含了附加的信息,如果方法并不需要这些信息,也可以忽略他们。

  EventArgs类本省并不包含传递附加数据的字段。因此,EventArgs只能用作基类,我们必须派生新的子类以包含必须的字段。另外,Empty是EventArgs定义的一个静态字段,它可以存储一个不包含任何数据的EventArgs对象。

  下面看一个简单的例子:

 程序执行结果为:

Event 0 received by an X object.
Source is Execise.MyEvent

 

Event 1 received by an X object.
Source is Execise.MyEvent

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值