委托和事件

本文介绍了一段使用C#实现的事件驱动和委托函数的应用示例,展示了如何通过事件处理循环和事件数组来响应特定的输入操作。

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

C#代码   收藏代码
  1. using System;  
  2.   
  3. class recv  
  4. {  
  5.     public delegate void request(object sender,EventArgs e);//定义了一个函数类型。  
  6.     public event request rqadd;      
  7.     //事件其实就是一个函数对象,而这个函数的调用方式有点特别,是事件驱动的,而不是直接调用的。  
  8.     //而且这个函数可以认为是一个reqeust类型的函数组,这个函数组目前为空。  
  9.     public void run()//需要一个循环来持续的处理事件。  
  10.     {  
  11.         while(true)  
  12.         {  
  13.             if(Console.ReadLine()=="h")  
  14.             {  
  15.                 rqadd(this,new EventArgs());  
  16.                 //执行事件函数数组里的所有函数。  
  17.             }  
  18.         }  
  19.     }  
  20. }  
  21.   
  22. class client  
  23. {     
  24.     public client(recv rq)  
  25.     {  
  26.         rq.rqadd += new recv.request(this.show);//把show函数添加到rq的事件数组当中。  
  27.     }  
  28.       
  29.     private void show(object sender,EventArgs e)  
  30.     {  
  31.         Console.WriteLine("h is received!");  
  32.     }  
  33.       
  34. }  
  35.   
  36. class myclass  
  37. {  
  38.     static void Main()  
  39.     {  
  40.         recv rq=new recv();  
  41.         client cc=new client(rq);  
  42.         rq.run();  
  43.     }  
  44. }  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值