c# 同步委托,异步委托,异步回调
2014-05-04 17:58
741 查看
namespace WindowsFormsApplication1 { public partial class Form1 : Form { delegate int adddelegate(int a, int b); public Form1() { InitializeComponent(); } private int add(int a, int b) { int c = 0; c = a + b; Thread.Sleep(5000); return c; } private void button1_Click(object sender, EventArgs e) { adddelegate addfuc = new adddelegate(add); int result = addfuc.Invoke(int.Parse(textBox1.Text), int.Parse(textBox2.Text)); textBox3.Text = result.ToString(); } private void Form1_Load(object sender, EventArgs e) { textBox1.Text = "2"; textBox2.Text = "1"; } private void button2_Click(object sender, EventArgs e) { adddelegate addfuc = new adddelegate(add); IAsyncResult result = addfuc.BeginInvoke(int.Parse(textBox1.Text), int.Parse(textBox2.Text), null, null); int c = 0; c=addfuc.EndInvoke(result); textBox3.Text = c.ToString(); } private void button3_Click(object sender, EventArgs e) { adddelegate addfuc = new adddelegate(add); IAsyncResult result = addfuc.BeginInvoke(int.Parse(textBox1.Text), int.Parse(textBox2.Text), new AsyncCallback(callback), "2"); } void callback(IAsyncResult ar) { AsyncResult asy = (AsyncResult)ar; adddelegate addde = (adddelegate)asy.AsyncDelegate; int result = addde.EndInvoke(ar); MessageBox.Show(result.ToString()); } } }
参考文章:
http://www.2cto.com/kf/201305/215911.html
http://www.csharpwin.com/csharpspace/12393r3151.shtml
相关文章推荐
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- 20160711--C# 委托的三种调用示例(同步调用 异步调用 异步回调)【转载】
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- C#委托的同步调用、异步调用、异步回调
- C# 委托的三种调用示例(同步调用 异步调用 异步回调) 之 FUNC 版
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- C#“同步调用”、“异步调用”、“异步回调”
- C#(同步调用、异步调用、异步回调)
- 委托(delegate)的三种调用方式:同步调用,异步调用,异步回调(转载)
- C#(同步调用、异步调用、异步回调)
- 使用委托实现同步回调与异步回调
- C# 同步调用、异步调用、异步回调
- C# 委托的同步调用和异步调用
- C# 委托的同步调用和异步调用
- C# 委托的同步调用和异步调用
- C# 委托异步回调 基本使用方法
- C# 委托的同步调用和异步调用
- C#基础之--线程、任务和同步:一、异步委托
- 回调callback的C#及JS同步、异步实现