基于委托的C#异步编程的一个小例子 带有回调函数的例子
2024-09-21 01:08:28
我创建的是一个winform测试项目:界面如下:
设置:
下面是代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms; namespace AsyncCallbackDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
objMyCal = ExecuteTask;
}
//定义一个委托
public delegate int MyCalculator(int num,int ms); //根据委托定义方法,返回一个数的平方
private int ExecuteTask(int num,int ms)
{
Thread.Sleep(ms);
return num * num;
}
MyCalculator objMyCal = null;
private void button1_Click(object sender, EventArgs e)
{ for (int i = 0; i < 11; i++)
{
//定义回调函数MyCallBack,传入回调值i
objMyCal.BeginInvoke(10 * i,1000*1, MyCallBack, i);
}
} private void MyCallBack(IAsyncResult result)
{
//返回结果
int res = objMyCal.EndInvoke(result);
Console.WriteLine("第{0}个计算结果为{1}",result.AsyncState.ToString(),res);
} }
}
最新文章
- JQuery数组详解(含实例)
- 关于MVC中Start.cs文件的作用
- 自己的gitignore文件
- hdu3849-By Recognizing These Guys, We Find Social Networks Useful:双连通分量
- SQL Server 与 Windows 内存使用上的约定
- Codeforces Round #256 (Div. 2/C)/Codeforces448C_Painting Fence(分治)
- [C++]KMP算法实现
- JavaScript实现全选和全不选
- nginx 安装和配置
- 2017年 JavaScript 框架回顾 -- React生态系统
- php类中的$this,static,const,self这几个关键字使用方法
- Django+xadmin打造在线教育平台(九)
- Python--可迭代对象,迭代器,生成器
- python pprint模块
- Spring - AOP简介与图示
- underscore.js源码解析【数组】
- [Cubieboard] 安装 Lubuntu server for SDCard
- Windows下pipenv将虚环境文件的位置设置在项目根目录下
- 可以替代alert 的漂亮的Js弹框
- Redis——基础数据结构
热门文章
- 百度首席科学家 Andrew Ng谈深度学习的挑战和未来(转载)
- HDU 5631 Rikka with Graph 暴力 并查集
- dns问题,QQ打得开,网页打不开
- Word中公式从单栏排版变为双栏排版后公式和编号错开了
- Font Include Sass Mixin
- OM-销售订单行【订购项目】配置参数文件控制
- Mybatis注解方法操作数据库
- maven的几个重要配置文件pom.xml、settings.xml;Maven打包生成包含所有依赖的jar包
- 统一D3D与OpenGL坐标系统
- Codeforces Round #313 (Div. 1) Gerald&;#39;s Hexagon