c#之委托事件

事件其实也是委托,是委托的安全版本

学事件前必须先学会委托,可以看下面链接博主的另一篇文章

委托,看这一篇就够了

事件的使用

1.创建委托

2.创建事件(封装一个事件类,封装事件的定义和事件调用执行的条件,看下文注意事项)

3.事件绑定方法

4.执行事件

实例(代码可以复制直接运行):

{
  static void main(string[] args)
  {
  	EventInvoke ei = new EventInvoke();//创建事件类对象
  	EventFunction ef = new EventFunction();//创建目标方法类对象
      
      ei.StudentEvent += ef.Eat;//4.绑定目标方法
      ei.StudentEvent += ef.Sleep;//4.绑定目标方法
      ei.Invoke();//调用事件,执行绑定的两个目标方法
      
  }
  
  //1.定义委托
  delegate void StudentDG();
  
  //定义事件类(包含事件定义和启动)
  class EventInvoke
  {
  public event StudentDG StudentEvent;//2.定义事件
      
  //3.写调用事件方法,判断事件纯在才调用事件
  public void Invoke()
  {
     StudentEvent?.Invoke();
  }
  }
  //目标方法类
   class EventFunction
   {
       public void Eat(){
           Console.WriteLine("吃");
       }
       
       public void Sleep(){
           Console.WriteLine("睡");
       }
   }
    
}

注意事项

  1. 事件必须声明在类或结构体中。

  2. 定义事件和调用事件必须放在同一个类中,在定义事件的类的外部不能调用事件,所以一般把调用事件封装到一个方法里。

  3. 事件的定义和调用不在同一个类中不能用=来操作事件,只能用+=。

感觉有帮助的可以点个关注,欢迎交流,共同进步

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值