C#事件-经典小例子
publicclass EatEventArgs : EventArgs
...{
public String restrauntName; //饭店名称
publicdecimal moneyOut; //准备消费金额
}
/**<summary>
/// 这个委托用来说明处理吃饭事件的方法的方法头(模式)
///</summary>
publicdelegatevoid EatEventHandler(object sender, EatEventArgs e);
/**<summary>
/// 引发吃饭事件(EateEvent)的类Master(主人),这个类必须
/// 1.声明一个名为EatEvent的事件: public event EatEventHandler EatEvent;
/// 2.通过一个名为OnEatEvent的方法来引发吃饭事件,给那些处理此事件的方法传数据;
/// 3.说明在某种情形下引发事件呢?在饿的时候。用方法Hungrg来模拟。
///</summary>
publicclass Master
...{
//声明事件
publicevent EatEventHandler EatEvent;
//引发事件的方法
publicvoid OnEatEvent(EatEventArgs e)
...{
if (EatEvent !=null)
...{
EatEvent(this, e);
}
}
//当主人饿的时候,他会指定吃饭地点和消费金额。
publicvoid Hungry(String restrauntName, decimal moneyOut)
...{
EatEventArgs e =new EatEventArgs();
e.restrauntName = restrauntName;
e.moneyOut = moneyOut;
Console.WriteLine("主人说:");
Console.WriteLine("我饿了,要去{0}吃饭,消费{1}元", e.restrauntName, e.moneyOut);
//引发事件
OnEatEvent(e);
}
}
/**<summary>
/// 类Servant(仆人)有一个方法ArrangeFood(安排食物)来处理主人的吃饭事件
///</summary>
publicclass Servant
...{
publicvoid ArrangeFood(object sender, EatEventArgs e)
...{
Console.WriteLine();
Console.WriteLine("仆人说:");
Console.WriteLine("我的主人, 您的命令是 : ");
Console.WriteLine("吃饭地点 -- {0}", e.restrauntName);
Console.WriteLine("准备消费 -- {0}元 ", e.moneyOut);
Console.WriteLine("好的,正给您安排。。。。。。。。 ");
System.Threading.Thread.Sleep(5000);
Console.WriteLine("主人,您的食物在这儿,请慢用");
Console.Read();
}
}
/**<summary>
/// 类God安排qinshihuang(秦始皇)的仆人是lisi(李斯),并让李斯的ArrangeFood
/// 方法来处理qinshihuang的吃饭事件:qinshihuang.EatEvent += new EatEventHandler(lishi.ArrangeFood);
///</summary>
publicclass God
...{
staticvoid Main()
...{
Master qinshihuang =new Master();
Servant lishi =new Servant();
qinshihuang.EatEvent +=new EatEventHandler(lishi.ArrangeFood);
//秦始皇饿了,想去希尔顿大酒店,消费5000元
qinshihuang.Hungry("希尔顿大酒店", 5000.0m);
}
}
转载于:https://www.cnblogs.com/tanding/archive/2012/06/28/2566653.html
C#事件-经典小例子相关推荐
- Android处理键盘事件的小例子
1.昨天介绍了Android开发中处理键盘事件的一些知识,今天我将附上一个例子,这个例子说复杂也好,说不复杂也好,我尽量长话短说. 2.首先,创建一个安卓项目,项目名为KeyEventTest,新建完 ...
- Vue制作todoList事件备忘录经典小案例
前言 今天是10月1日国庆节,行走在大街小巷,处处洋溢着热烈喜庆的节日氛围,在这一天祝愿祖国繁荣昌盛,越来越强大.因国庆放假(本来周六这天有课),今天无聊看了看后台私信,看到了很对私我类似的消息: 很 ...
- c语言缓冲区溢出例子,经典缓冲区溢出小例子
经典缓冲区溢出小例子 文章目录 经典缓冲区溢出小例子 0.说明 1.基于缓冲区溢出的HelloWord 2.永不停止的HelloWord 0.说明 两个小程序,C语言编写,VC++6.0编译 ...
- 经典Robocode例子代码- -SnippetBot
经典Robocode例子代码 - -SnippetBot 看过了Robocode的文章,对Robocde有了个大概了解,现在我我们就一个经典的Robocode例子源代码来分析Robocode也jav ...
- 经典Robocode例子代码
经典Robocode例子代码 作者:Alisdair //*------------------------------------------------------------------ ...
- 经典Robocode例子代码--SnippetBot
经典Robocode例子代码 - -SnippetBot 看过了Robocode的文章,对Robocde有了个大概了解,现在我我们就一个经典的Robocode例子源代码来分析Robocode也jav ...
- c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...
这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...
- sku属性组合小例子
参考: http://www.cnblogs.com/hsp-blog/p/6215721.html http://blog.csdn.net/csdn924618338/article/detail ...
- 【Python基础】告别枯燥,60 秒学会一个 Python 小例子(文末下载)
本文推荐一个python的傻瓜式的学习资源,内容简单易懂,让人可以在60 秒学会一个 Python 小例子 当前库已有 300多 个实用的小例子 本文来源:https://github.com/jac ...
- MVVM模式的一个小例子
使用SilverLight.WPF也有很长时间了,但是知道Binding.Command的基本用法,对于原理性的东西,一直没有深究.如果让我自己建一个MVVM模式的项目,感觉还是无从下手,最近写了一个 ...
最新文章
- App功能测试的注意点
- suse11/12关闭防火墙
- php 跨域名存储cookie,实现跨域名Cookie
- H5 video 开发问题及相关知识点
- python导入自定义模块_Python3 导入自定义的包
- Codeforces Beta Round #11 B. Jumping Jack 思维
- Nifty JUnit:在方法和类级别上使用规则
- Linux网络编程——tcp并发服务器(多进程)
- 用Eclipse写java
- 有哪些问题应该得到解决?
- g90舵机怎么一直在抖_抖音怎么带货?这样做抖音号,抖音小白也能月入10w
- mysql创建视图查询_【MySQL】MySQL视图创建、查询。
- 大学英语计算机统考怎么过,2011年9月大学英语B 统考 计算机网考样题
- c语言d6d0,【单选题】汉字中的十六进制的机内码是D6D0H,那么它的国标码是(·) x2012
A. 5650H B. 5651H C. 5653H D. 5654H...
- 19年11月份,我为什么从上一家公司离职
- MATLAB强化学习工具箱(十一)训练DDPG智能体控制飞行机器人
- 当因为上传文件过大导致上传失败时
- 被大创耽误的一堆反思
- JS函数和对象(一)
- unicloud开发微商管理小程序-商品私域推广
热门文章
- FISCO BCOS Solidity 智能合约 返回数组
- 【例】系统顺序图、操作契约、领域模型图
- Unity TextMeshPro中文显示为方块
- java基础总结06-常用api类-System类常用方法
- spring 包的依赖问题
- Matter-JS Composites 混合材料 · 上
- Html5 + fromData + Spring MVC 单文件、多文件上传
- 阶段3 2.Spring_07.银行转账案例_6 测试转账并分析案例中的问题
- 【转载】【SQL】Sql Server Management Studio 18 打开闪退问题
- 贪心【CF1029E】Tree with Small Distances