”猫叫老鼠跑“来记忆委托和事件
主要事件执行类:
class //函数入口
{
static void main(string[] args)
{
cat cat = new cat();
mouse mouse = new mouse();
cat.Emethod + =new cat.deletagehandler(mouse.run()); //注册事件 【触发委托订阅的方法】
cat.cry();
console.ReadKey();
}
}
class cat //猫类
{
public  delegate void delegatehandler(); //定义委托
public event delegatehandler Emethod; //定义事件
public event
public delegate void  cry()
{
Console.WriteLine("miao!");
raiseEvent();
}
public void raiseEvent()
{
//如果注册过事件则触发事件
if(Emethod!=null)
{
Emethod();
}
}
}
class mouse //鼠类
{
public void run() //委托的方法
{
Console.WriteLine("猫来了,快跑!");
}
}
=======
打印当然是结果:
miao!
猫来了,快跑!
有2点我们是需要理解的:
1.委托是用来订阅方法的
2.事件是需要注册的
还有1点我们需要明白的是:事件引入的目的就是一个类函数中为了触发另一个类中的函数。
归纳起来事件使用步骤如下:
1.定义委托
2.定义事件
3.编写事件处理函数
4.注册事件
5.触发事件

转载于:https://blog.51cto.com/vaxvax0000/487154

Event delegate相关推荐

  1. 3.Event Delegate

    书目:MCTS 70-536: TS: .NET Framework 2.0-Application Development Foundation  章节:Chapter 1: Framework F ...

  2. Event Delegate(代理)异常:该委托必须有一个目标 解决方法

    正文待叙 转载于:https://www.cnblogs.com/kodong/archive/2013/04/19/3031212.html

  3. 【温故知新】c#事件event

    从上一篇文章[温故知新]C#委托delegate可知,委托delegate和事件Event非常的相似,区别就是event关键字,给delegate穿上了个"马甲". 让我们来看官方 ...

  4. C# event关键字

    今日看到一篇文章: ---------------------  作者:lulu_jiang  来源:CSDN  原文:https://blog.csdn.net/lulu_jiang/article ...

  5. C#event EventHandler事件触发

    在定义委托时,前面加上event关键字,可以保证该委托不能在外部被随意触发,两者异同:   注册 注销 内部触发 外部触发 delegate += -= Invoke Invoke event del ...

  6. C# Delegate 使用

    Delegate, Event Delegate其实就相当于C++/C里面的函数指针.用法如下: 1.最常规的使用     class Program     {         public del ...

  7. C# 特性(Attribute)学习。

    特性(attribute)是被指定给某一声明的一则附加的声明性信息. 在C#中,有一个小的预定义特性集合.在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们 ...

  8. 使用 .NET 对事件进行编程

    作者:Ted Pattison 您可能已经对事件进行编程若干年了,但是迁移到 .NET Framework 仍然需要您重新检查事件的内部工作,因为 .NET Framework 中的事件位于委托的顶层 ...

  9. java uiautomation_Java UiAutomation類代碼示例

    本文整理匯總了Java中android.app.UiAutomation類的典型用法代碼示例.如果您正苦於以下問題:Java UiAutomation類的具體用法?Java UiAutomation怎 ...

最新文章

  1. 旷视孙剑博士提出LGD,训练速度提升51%,适用于目标检测的知识蒸馏
  2. Memcached的定义及用法
  3. Logtail提升采集性能
  4. WebAPI(part8)--节点操作
  5. Delphi开发的服务在Windows2003 64位注册方式。
  6. 吴老师用计算机输入一份稿件,分数乘除法易错题复习1.pdf
  7. Linux安装后初始优化步骤(仅适用于CentOS、RedHat)
  8. 欧盟批准ATT收购时代华纳 或年底前完成交易
  9. python将字符串拆分成单词_将字符串拆分为单词和标点符号
  10. List 、Set、 Map有什么区别和联系
  11. SQL Server 访问发送Http请求
  12. MapReduce:Simplified Data Processing on Large Clusters(中文翻译2)
  13. python3基础学习(XML文件解析)
  14. 在Python中使用try-except-else是否是一种好习惯?
  15. 使用半透明的DIV实现禁用页面功能
  16. UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xae in position 53: illegal multibyte sequence
  17. 实现AI角色的自主移动-路径跟随Path Following行为
  18. 去除CSDN 博客页广告的历程
  19. 服务器有哪些品牌,各品牌服务器之间性价比对比!
  20. 飞凌OK6410、TE6410、FL6410 等ARM11 开发板的区别——非常详细哦

热门文章

  1. Mac mysql sql_model引起的问题
  2. 《高性能Linux服务器构建实战》笔记
  3. IndexedDB 索引数据库
  4. Wannafly挑战赛9
  5. Day1 - Python基础1作业【编写登陆接口】
  6. C++Primer ch4笔记
  7. 第1条:考虑用静态工厂方法代替构造器
  8. 手动编译Mysql5.6.10 手动编译php 支持fastcgi
  9. - 运算符(C# 参考)
  10. 推荐升级ASP.NET Web API 2