C#的事件机制

博客介绍了在C#里,若不想声明自己的委托类型,可使用System.EventHandler委托类型,给出其定义。还提到能实现自己的EventArgs类,类名最好以EventArgs结尾,调用时若不想用参数可传递EventArgs.Empty。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#的事件机制是基于委托实现的。实现一个事件,要先定义一个委托类型
class1
{
 public delegate void mydelegate (myEventArgs e);
 public event mydelegate event1;
}
然后我们在其它类中可以使用+=和-=注册、移除事件
class1.event1 += new mydelegate(new myEventArgs());
class1
{
 public fireEvent()
 {
  if(event1 != null)//在class1中引发事件时最好这样
   event1();
 }
}


如果不想声明自己的委托类型的话,可以使用System.EventHandler的委托类型
public delegate void EventHandler(object sender, EventArgs e);
其中EventArgs转送附加参数。
可以实现自己的EventArgs类
class myEventArgs:EventArgs
{
}
类名最好以EventArgs 结尾,这是个默认规则
调用时如果不想使用参数可以传递
EventArgs.Empty

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值