C#事件与委托
来源:互联网 发布:半岛雪人 mac 编辑:程序博客网 时间:2024/06/08 02:15
银行卡绑定手机案例:
银行卡每次一刷卡消费,就往相关的手机上发一个消息。
银行卡类(发布者) 手机类(订阅者)
代码:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace task2{ public delegate void SwingCardEvent(int money); //委托刷卡事件 class BankCard //发布者 { private int money;//消费的钱 public int Money { get { return money; } set { money = value; } } public event SwingCardEvent SpendMoney; //事件 public void Spend(int money) { Console.WriteLine("欢迎您购物!"); if(SpendMoney!=null) { SpendMoney(money); } } } class Phone { public int carMoney = 10000;//卡中总钱数 public void Do(int money) { Console.WriteLine("{0}已经被花完!", money); Console.WriteLine("您当前银行卡上有钱为:{0},本次消费为:{1},还剩余为:{2}\n", this.carMoney,money, (this.carMoney -money)); carMoney = carMoney -money; } } class Program { static void Main(string[] args) { BankCard card = new BankCard(); Phone ph = new Phone(); card.SpendMoney += ph.Do; //建立关联 card.Spend(30); //调用1 card.Spend(50); //调用2 Console.ReadLine(); } }}
运行截图:
阅读全文
0 0
- c# 委托与事件
- C#委托与事件
- C# 委托与事件
- c#委托与事件
- C# - 委托与事件
- C#委托与事件
- C# 委托与事件
- C#委托与事件
- c#委托与事件
- C#事件与委托
- C# 事件与委托
- C#事件与委托
- c#委托与事件
- C#委托与事件
- c#委托与事件
- C#委托与事件
- C# 委托与事件
- C#委托与事件
- Java实现CORS跨域请求
- 真正一键开启PPTP、L2TP两种VPN服务,经测试兼容centos 6 7 、ubuntu 14 16、debian 8,32位64位,一次爽到底!
- Hibernate学习之旅
- Tensorflow之数据类型
- 正则表达式学习之回溯与固态分组/php
- C#事件与委托
- Linux定时任务 备份数据库
- 系统安全分析与设计---网络安全与防火墙
- 类重复: com.actions.pcbatest.R 重复错误
- Linux
- 662. Maximum Width of Binary Tree(二叉树层次遍历,二叉树标序号)
- 自定义弹窗
- Spring事务传播机制
- Codeforces633D【暴力】