C#_委托与事件
委托:
把方法当作参数进行传递
public delegate void AddDelegate(string name);
public class Ad{
//addDelegate就是委托的一个实例,把方法当作参数进行传递进去,逻辑分离,解除耦合
public static void AddHander(string name,AddDelegate addDelegate){
addDelegate(name);//调用该方法
}
}
public static void Add(string name){ cw(name);}
调用:
AddDelegate add = new AddDelegate(Ad.Add);//实例化委托
Ad.AddHander("abc",add);//把委托当参数传递进去
事件:
public delegate void CatDelegate();//定义一个委托
//声明一个猫
public class Cat{
public event CatDelegate catHander;//声明一个事件
public void MiaoCat(){
catHander.Invoke();//执行事件
}
}
定义:委托就是一种类型,事件是委托的一种实例;
调用:Cat cat =new Cat();
cat.catHander+=Run;//注册动作 Run()方法
cat.catHander+=Miao;//注册动作 Miao()方法
cat.MiaoCat();//执行调用事件方法,过程会依次执行Run、Miao这俩个方法
C#_委托与事件的更多相关文章
- C#委托与事件的简单使用
前言:上一篇博文从原理和定义的角度介绍了C#的委托和事件.本文通过一个简单的小故事,来说明C#委托与事件的使用方法及其方便之处. 在阅读本文之前,需要你对委托和事件的基本概念有所了解.如果你是初次接触 ...
- c#委托与事件、消息、WndProc用法(转)
c#委托与事件 心得 c#用委托来实现事件通知机制.委托相当与c++函数指针.整个过程涉及一个呼叫者,一个被呼叫者,还有就是这个委托. - 实现步骤有以下几步: 1. 申明委托, 2.定义呼叫者和调用 ...
- 从IL角度彻底理解回调_委托_指针
从IL角度彻底理解回调_委托_指针 目录 从IL角度彻底理解回调_委托_指针 1.创作此文的背景 1.1.委托能帮助代码更好地封装 1.2.委托能随时随地更方便地运行其他类中的方法 1.3.委托非常适 ...
- .NET面试题系列[7] - 委托与事件
委托和事件 委托在C#中具有无比重要的地位. C#中的委托可以说俯拾即是,从LINQ中的lambda表达式到(包括但不限于)winform,wpf中的各种事件都有着委托的身影.C#中如果没有了事件,那 ...
- .NET基础拾遗(4)委托、事件、反射与特性
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
- [转载]C#深入分析委托与事件
原文出处: 作者:风尘浪子 原文链接:http://www.cnblogs.com/leslies2/archive/2012/03/22/2389318.html 同类链接:http://www.c ...
- [转载]C#委托和事件(Delegate、Event、EventHandler、EventArgs)
原文链接:http://blog.csdn.net/zwj7612356/article/details/8272520 14.1.委托 当要把方法作为实参传送给其他方法的形参时,形参需要使用委托.委 ...
- C#委托与事件
一.在控制台下使用委托和事件 我们都知道,C#中有"接口"这个概念,所谓的"接口"就是定义一套标准,然后由实现类来具体实现其中的方法,所以说"接口,是 ...
- C#之委托与事件
委托与事件 废话一堆:网上关于委托.事件的文章有很多,一千个哈姆雷特就有一千个莎士比亚,以下内容均是本人个人见解. 1. 委托 1.1 委托的使用 这一小章来学习一下怎么简单的使用委托,了解一些基本的 ...
随机推荐
- 分布式文件系统(HDFS)与 linux系统文件系统 对比
初次接触分布式文件系统,有很多迷惑.通过参考网络文章,这里进行对比一下Hadoop 分布式文件系统(HDFS)与 传统文件系统之间的关系: Linux 文件系统 分布式文件系统 块 块对应物理磁盘 ...
- python中的一等对象--函数
一等对象 什么是一等对象: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传递给函数 能作为函数的返回结果 python中的字符串,列表什么的都是一等对象,但对如果之前只是使用c++.jav ...
- WampServer 安装使用详解
WampServer集成环境的搭建.安装.使用.配置 什么是WampServer WampServer是一款由法国人开发的Apache Web服务器.PHP解释器以及MySQL数据库的整合软件包.免去 ...
- 【PAT】B1051 复数乘法(15 分)
要会使用math函数, 还要注意到用四舍五入的方法判断是否应该输出0.00 #include <math.h> #include<stdio.h> int main() { d ...
- 17LaTeX学习系列之---LaTeX的版面设计
目录 目录 前言 (一)基础知识 1.纸张大小的设置 2.边距的设置 3.页眉页脚的设置 4.横分割线的设置 5.行间距与段间距 (二)实例 1.源代码 2.输出效果: 目录 本系列是有关LaTeX的 ...
- PHP PC端支付宝扫码支付
前面的文章已经描述过在蚂蚁金服开放平台创建应用签约等流程,详见:PHP App端支付宝支付,这里就不多说了,剩下的分两步,第一步是支付前的准备工作,也就是整合支付类文件,我已经整合好可以直接用,代码开 ...
- ccf-20170303--Markdown
我的想法如下图: 代码和题目如下: 问题描述 试题编号: 201703-3 试题名称: Markdown 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 Markdown 是一 ...
- Base64编码/解码
/// <summary> /// Base64编码 /// </summary> /// <param name="str">字符串</ ...
- C#常见委托のdelegate定义,Func,Action,Predicate总结
委托,顾名思义,就是让其他代理,本质就是为具有共性方法组定义一个方法模板:(交流可以加qq群:435226676) 委托常见的方式有一般委托显示定义,Func<T,TResult> (T, ...
- 3D数学读书笔记——矩阵基础
本系列文章由birdlove1987编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/24975031 矩 ...