今天复习了一下事件和委托,本来看事件来着,看到EventHandler,写了一个小例子,想贴在这里解释一下。为了弄清楚EventHandler,
还是回归到最基本的委托,曾经在园子里看到一位前辈用深入浅出的语言写了委托,有些印象,收藏了,链接是:http://www.cnblogs.com/xcj26/p/3536082.html#2882421
非常羡慕他对抽象概念的清晰有条理的描述,把委托的定义和使用分一二三写出来,非常地直白。
step1:首先用delegate定义一个委托 。
step2:声明一个方法来对应委托。
step3:用这个方法来实例化这个委托。
step4:调用委托。(自己加的)
按照这个步骤我自己写一个简单的例子:

1 class Program 2 { 3 //step1 定义委托 4 public delegate void ShowCity(string cityName); 5 6 //step2 声明与委托对应的方法 7 public static ShowCityFunction(cityName) 8 { 9 Console.WriteLine(cityName); 10 } 11 12 13 static void Main() 14 { 15 //step3 实例化委托 16 ShowCity show=new ShowCity(ShowCityFunction); 17 18 //step4 实例化委托 19 show.Invoke("su zhou"); 20 show("shang hai"); // 两种调用方式的效果一样 21 22 Console.ReadLine(); 23 24 } 25 26 }
上面有个笔误,不影响理解。下面按照上面的4个步骤来理解EventHandler,先给出EventHandler的官方定义:
EventHandler 委托是专门表示事件的事件处理程序方法不生成数据的预定义的委托。很拗口的感觉!链接在此,自己看:
贴出按照微软的例子照抄的代码,加深一下印象:
真正的调用在这里:
到这里,基本就结束了,现在的理解只能达到这个程度了。
锲而不舍,水滴石穿
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)