对delegate的理解
using System.Collections.Generic;
using System.Text;
{
//声明委托,返回类型bool表示是否买到东西,参数是钱。
{
bool BuyTicket(double needMoney)
{
if (needMoney < 100)
{
Console.WriteLine("Fail");
return false;
}
else
{
Console.WriteLine("Succeed");
return true;
}
}
bool BuyStone(double needMoney)
{
if (needMoney < 200)
{
Console.WriteLine("Fail");
return false;
}
else
{
Console.WriteLine("Succeed");
return true;
}
}
bool BuyWood(double needMoney)
{
if (needMoney < 300)
{
Console.WriteLine("Fail");
return false;
}
else
{
Console.WriteLine("Succeed");
return true;
}
}
{
BuySomething buy = new BuySomething();
//实例化委托。
//参数只写方法名,不要后面的括号。
dowork(150);
//OK,给150银子,能买哦。
dowork = new DoWork(buy.BuyStone);
dowork(250);
//Succeed
dowork = new DoWork(buy.BuyWood);
dowork(250);
//Fail。钱不够。
}
//只要是符合:1:返回型为bool。2:参数只有一个且为double。这两个条件的Method都可以用这个委托来执行。
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
{
delegate void DelCount();
{
int a, b;
double result;
{
InitializeComponent();
}
{
a = int.Parse(textBox1.Text.Trim());
b = int.Parse(textBox2.Text.Trim());
dc += new DelCount(Label2Method);
dc += new DelCount(Label3Method);
dc += new DelCount(Label4Method);
dc();
}
{
result = a + b;
label1.Text = a.ToString() + " + " + b.ToString() + " = " + result.ToString();
}
{
result = a - b;
label2.Text = a.ToString() + " - " + b.ToString() + " = " + result.ToString();
}
{
result = a * b;
label3.Text = a.ToString() + " * " + b.ToString() + " = " + result.ToString();
}
{
if (b == 0)
{
label4.Text = "";
}
else
{
result = a * 1.0 / b;
label4.Text = a.ToString() + " / " + b.ToString() + " = " + result.ToString();
}
}
}
}
对delegate的理解相关推荐
- iOS 中delegate的理解与使用(传值)
之前做了半年的iOS,刚入了门,又被拉去转战java,现在iOS的那位大佬离职了,又被弄过来维护app,之前对于iOS中的delegate一直都是半知半解,所以刚好趁着这个机会把我所了解的记下来,以便 ...
- DoNet:浅淡对delegate的理解
1 前言 C#的相关文档,MSDN上其实已经很详细了,关于delegate的使用可以参 考MSDN上的文档https://msdn.microsoft.com/zh-cn/library/900fyy ...
- iOS开发之protocol和delegate
protocol--协议 协议是用来定义对象的属性,行为和用于回调的. 协议中有两个keyword@private和@optional,@private表示使用这个协议必需要写的方法,@op ...
- C# delegate 用法
Delegate 1.个人对delegate的理解 delegate 委托,将函数当做变量来操作,调用委托实例时会调用它绑定的函数. 2.委托的定义 委托的声明原型是 delegate <函数返 ...
- .NET 事件模型教程(一)
.NET 事件模型教程(一) .code { padding: 10px 10px 10px 10px; font-family: 宋体; background-color: #ececec } 目录 ...
- Kotlin学习笔记 第二章 类与对象 第十四 十五节 委托 委托属性
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...
- Groovy 学习手册(4)
6. 领域特定语言 Groovy 有许多特性,使它非常适合写DSL(领域特定语言).这些特性包活: 具有委托机制的闭包: 点号(.)和语句末尾的分号(;)是可选的: 运算符的重载(例如,加号,减号等) ...
- iOS开发入门——基础篇一
文章目录 1. iOS应用生命周期 1.1 应用程序的架构 1.2 iOS应用的5种状态: 1.2.1做一些操作对应的生命周期调用的顺序 1.2.2全面的生命周期执行流程图 1.3 Main函数入口 ...
- Unity的C#编程教程_61_委托和事件 Delegates and Events 详解及应用练习
文章目录 C# Delegates C# Events Example Working with C# Delegates and Events Challenge: Teleport Events ...
最新文章
- 【HDOJ图论题集】【转】
- 组织可以最大限度提高数据中心性能的五个步骤
- 深度学习cnn人脸检测_用于对象检测的深度学习方法:解释了R-CNN
- 【收集】47种常见的浏览器兼容性问题
- 分布式系统事务一致性解决方案大对比,谁最好使?
- python微信推送消息_Python编程之微信推送模板消息功能示例
- p图软件pⅰc_惊爆软件:王者荣耀P图大神,助力少年国服梦
- 【音效处理】Vibrato 简介
- html链接sqlserver,js连接sqlserver进行查询
- WordPress数据库error establishing a database connection错误
- Silverlight IReader阅读器第二版
- 按键精灵 excel mysql_按键精灵常用插件介绍
- 如何设置无线路由器提高迅雷下载速度
- PyTorch_Geometric 安装过程
- 简单通用QQ/微信跳转浏览器打开代码
- 使用express-jwt第三方包报错TypeError: expressJWT is not a function
- Java微服务框架一览
- 腾讯一面:内存满了,会发生什么?
- STM32CubeIDE导入机智云生成基于MDK的STM32工程
- 【小程序源码】星座运势,周公解梦下载
热门文章
- [Spring] 注入Bean属性
- 图形学实验 警察抓小偷
- 惠普136w墨粉量低_惠普136w加粉清零
- Study-Python23-023递归:这帮小兔崽子
- linux的wq 与wq的区别,Linux ESC :wq 和:wq!的区别
- 用canvas画阴阳鱼
- error: #error “Please include Eigen/Geometry instead of including headers inside the src directory d
- 上墙抽奖php代码,微信帐号开发:独立PHP微信上墙|微信墙|微信抽奖完美版(PHP源码)...
- 药品注册专员前景如何?5条职业规划发展方向
- 【整理】写给java web一年左右工作经验的人