C# delegate and event
真是的,这个东西看了不用,一段时间后就忘了。
delegate相当于函数指针,可以把其他函数加入到delegate实体中,这样用调用delegate实体来实现对所加入函数的调用。
比如
public delegate deleTest(string name);
可以deleTest test = new deleTest(testFun);把testFun挂到test上。
其中testFun函数的签名要和deleTest的签名一致。
然后test(“dear”);就可以调用testFun()了。
事件则是特殊签名的delegate.
public delegate void EventHandler(object sender, System.EventArgs e);
而event呢,则是一个delegate的list,可以让很多delegate挂在上面,这样时间发生的时候,就可以调用所有挂在event上面的函数了。
一般会写一个event调用函数来保护event的触发。如
protected void OnTestEvent(System.EventArgs e)
{
if(testevent!=null) testevent(this,e);
}
转载于:https://www.cnblogs.com/climberluoxi/archive/2009/01/07/1371303.html
C# delegate and event相关推荐
- c# 带返回值的action_C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别...
今天来讲一讲<C#delegate.event.Action.EventHandler的使用和区别> 目录 所以,event应运而生 所以,EventHandler应运而生 所以,Acti ...
- C#中的delegate和event (转)
C#中的delegate和event 在基于Windows平台的程序设计中,事件(event)是一个很重要的概念.因为在几乎所有的Windows应用程序中,都会涉及大量的异步调用,比如响应点击按钮.处 ...
- C#中的delegate和event作用及区别
Delegate delegate是C#中很重要的语法. 委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用. 声明了delegate的属性都会继承自Delegate类. 使用单播委托类 ...
- C# delegate、event、Action、Func使用案例解析
C# 中 delegate.event.Action.Func使用案例解析 一:delegate与event配合使用 public static class Evt_Test{public stati ...
- msdn 上的关于delegate和event的一个例子,理解后加点评论
using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace Event ...
- C#中Delegate和Event以及它们的区别(转载)
一.Delegate委托可以理解为一个方法签名. 可以将方法作为另外一个方法的参数带入其中进行运算.在C#中我们有三种方式去创建委托,分别如下: public delegate void Print( ...
- C# 委托(Delegate) 事件(Event)应用详解
委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每 ...
- delegate和event(转载too)
从 前,在南方一块奇异的土地上,有个工人名叫彼得,他非常勤奋,对他的老板总是百依百顺.但是他的老板是个吝啬的人,从不信任别人,坚决要求随时知道彼得的 工作进度,以防止他偷懒.但是彼得又不想让老板呆在他 ...
- C# delegate与event,委托与事件
文章目录 委托 示例 事件 实例 博主写作不容易,孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 委托和事件是C#中两个比较复杂的概念,这篇文章介绍两个概念与基本用法,让大家理解C#中的事件处理机 ...
最新文章
- tomcat启动出现闪退_(转)Tomcat 启动后 “闪退”
- 百度线下赛道报名通知!
- zoj - 2112 带修改主席树 + 空间优化
- 类似TH养车的电商系统设计思路
- C语言运行gis空间叠加分析,GIS空间叠加分析与缓冲区分析.doc
- HelloDjango 启动!免费带你学Django全栈!
- c# 程序调试出现“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。”...
- SDN和MPLS有什么区别?
- $bzoj1079-SCOI2008$ 着色方案 $dp$
- ubuntu gedit 工具菜单下没有 Manage external tools
- 浪潮n系列服务器指示灯_中国服务器市场,浪潮跑出,联想和华为出现衰退
- html缓存失败是什么,HTML5离线“应用程序缓存错误事件:清单读取失败(-1)”...
- 计算机快捷截图方式,电脑如何快速截图,电脑快速截屏的几种方法
- sokit socket调试工具
- (z)无杂散动态范围SFDR--影响通信机性能的因素
- [雨松MOMO程序研究院]Unity3D研究院之构建游戏框架与导出IOS项目(一)
- Charles 在线破解工具
- java下拉刷新上拉加载_使用PullToRefresh实现下拉刷新和上拉加载
- 数据分析进阶-Excel绘制分段折线图
- 1、Dreamweaver工具的使用