异步委托委托的使用
using System;
using System.Threading;namespace yibuweituo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public delegate void AddHandler();
private void button1_Click(object sender, EventArgs e)
{
AddHandler handler = new AddHandler(Add);
IAsyncResult result = handler.BeginInvoke(new AsyncCallback(AddComplete), handler);
Console.WriteLine("button1_Click() Complete.");
}
public void Add()
{
Thread.Sleep(5000);
Console.WriteLine("Add() Complete.");
}
static void AddComplete(IAsyncResult result)
{
// Retrieve the delegate.
AddHandler caller = (AddHandler)result.AsyncState;
// Call EndInvoke to retrieve the results.
//结束异步委托
caller.EndInvoke(result);
}}
}