C# 委托如何理解 打个比喻】的更多相关文章

初学者可能会给winform窗体注册事件,也听过事件是基于委托实现的 那么,委托是什么,事件又是什么,委托和事件是什么关系. 个人喜欢做一些比喻,把这些东西想象成某一个模型,这样方便记忆,理解,随着对这个东西的理解更加深入,模型也更加抽象,更加完善. 家里有一些电器(双孔插头)[冰箱:制冷. 电灯:照明.洗衣机:洗衣服 .空调:吹风 .....],家里有好多个双孔插座,有一个总开关,一打开,只要插入插座的电器就可以工作. 现在来看一下这一整套系统的工作原理: 电器都有一个共性:有电才能工作,有个…
1.什么是委托 委托可以理解为持有一个或多个方法的对象.如果执行委托的话,委托会 执行它所"持有"的方法.委托可以避免程序中大量使用if-else语句,使 程序拥有更好的扩展性. 2.委托的本质 委托和类一样,是一种用户自定义的类型,但类表示的是数据和方法的集合, 而委托则持有一个或多个方法,以及一系列预定义的操作. 3.如何声明委托 delegate void MyDel(int x) 说明:delegate 作为委托关键字,没有方法主体 4.什么是多播委托? 可以把多个方法赋值给同…
原文地址:http://www.codeproject.com/Articles/4773/Events-and-Delegates-Simplified 引用翻译地址:http://www.cnblogs.com/finesite/articles/255884.html 目录 导论 什么是委托 事件的理解 事件关键字 最后 1. 导论 在学习C#中的委托和事件过程中,我读了许多文章来理解他们二者究竟是怎么一回事,以及如何使用他们,现在我将整个的理解过程陈述以下,我学到的每一方面,恐怕也是你们…
请注意,这只是个人关于C#中委托的一点点理解,参考了一些博客,如有不周之处,请指出,谢谢! 委托是一种函数指针,委托是方法的抽象,方法是委托的实例.委托是C#语言的一道坎,明白了委托才能算是C#真正入了门.委托在c#中的应用特别的多,最常见比如事件监听器就是利用委托来实现的.我们点击winform上面的一个按钮,系统就会响应,这其实就是委托. 为什么要用委托呢?绝对不是为了简单问题复杂化.我们知道在程序设计当中,数据结构和算法是非常重要的,但是在实际的开发当中,我们好像又不太用的着这些东西,这是…
什么是事件委托: 事件委托——给父元素绑定事件,用来监听子元素的冒泡事件,并找到是哪个子元素的事件.(不理解冒泡的可以去百度下) 定义:利用事件冒泡处理动态元素事件绑定的方法,专业术语叫事件委托. 使用事件委托技术可以避免对特定的每个节点添加事件监听器,相反,事件监听器是被添加到它们的父元素上.事件监听器会分析从子元素冒泡上来的事件,找到是哪个子元素的事件. 事件委托的好处: 事件委托技术可以避免对每个字元素添加事件监听器,减少操作DOM节点的次数,从而减少浏览器的重绘和重排,提高代码的性能.…
比如说一个公司(场景),你是老板,手下有两个员工,小张和小王. 你命令小王,如果小张玩游戏,则小王扣去小张500元钱.这就是现实中的委托.实际上,在写程序中,程序员就是老板,小张和小王就是两个对象.小张玩游戏是一个方法,小张还有一个游戏事件,他玩游戏激发这个事件.而小王就是事件处理对象,他负责把小张的钱扣除500.所以,委托有如下几个要素:1 激发事件的对象--就是小张2 处理对象事件的对象--就是小王3 定义委托,就是你让小王监视小张.如果这三个要素都满足的话,则你就写出了一个完整事件的处理.…
jQuery事件冒泡: click mouseenter 等事件没有绑定 也会触发,只是触发后没有任何结果 子元素触发事件后,会把触发事件传递给父元素,那么父元素也会被触发. 不管有没有绑定事件,都会触发事件,只是没有结果,事件冒泡传递还是会发生 系统自动产生的event事件对象 function传的第一个参数就是event事件对象 event.stopPropagation(); // 阻止事件冒泡 event.preventDefault() // 阻止默认行为 比如submit阻止表单提交…
委托的使用和语法定义 委托的使用是由四步来完成的,依次为:声明委托.创建委托对象.委托关联方法.调用 我们用一个例子来说明这四步如何操作,我们完成一个老板委托员工写报告的实例,看如何实现. 首先我们应该定义两个类,老板类Boss和员工类Employee,老板委托员工写报告,其实是老板什么都没做,而是告诉员工去做事情(写报告), 那我们的定义如下 public class Boss { //声明委托 public delegate void DoWorkEventHandler(string co…
上一篇博客讲到了LinQ和lambda的常用方法 还有很多我们未知但c#设计团队已经为我们封装好的类和方法.随着我们不断的熟悉C#语言,渐渐的就会接触到其他的知识点,委托.事件.反射.线程.同步,异步.IO.套接字...这些东西我们平常用到的不多,都是些概念性的东西,也许是因为不熟悉而可以回避了使用这些东西,不可否认的是 就算不用这些我们依然能想到问题的解决办法.但是几乎所有语言都会有这些概念,因为在某些场景它们能发挥不可思议的能力. 其实我到现在还是没有掌握委托和事件,在工作或者设计中也尽量回…
前言: 根据百度百科字面意思是:把事情托付给别人或别的机构(办理/处理), 我们就按汉字意思来理解; 再罗嗦一点通俗一点就是:当某人发生什么事情后把处理这个事情的工作托付给别人或别的机构(办理/处理); 举个现实的案例"李天1案例":当杨女士受到侵害后,委托律师对李天1进行控告,委托医生进行身体检查; 用委托实现就是如下: using System; using System.Collections.Generic; using System.Linq; using System.Te…