//
首先准备好,要进行异步的方法(能异步的,最好不多线程)
private string MethodName( int Num, out int Num2)
{
Num2 = Num;
return " HelloWorld " ;
}
// 定义与方法同签名的委托
private delegate string DelegateName( int Num, out int Num2);
// 程序入口
private void Run()
{
// 实例化委托
DelegateName dn = new DelegateName(MethodName);
int i;
// 异步开始
IAsyncResult iar = dn.BeginInvoke( 1 , out i, null , null );
// 去做别的事
// …………
// 做完别的事
// 异步结束
string r = dn.EndInvoke( out i, iar);
MessageBox.Show(i.ToString() + " " + r);
}
// 最后的结果应该是:i=1,r="HelloWorld"
private string MethodName( int Num, out int Num2)
{
Num2 = Num;
return " HelloWorld " ;
}
// 定义与方法同签名的委托
private delegate string DelegateName( int Num, out int Num2);
// 程序入口
private void Run()
{
// 实例化委托
DelegateName dn = new DelegateName(MethodName);
int i;
// 异步开始
IAsyncResult iar = dn.BeginInvoke( 1 , out i, null , null );
// 去做别的事
// …………
// 做完别的事
// 异步结束
string r = dn.EndInvoke( out i, iar);
MessageBox.Show(i.ToString() + " " + r);
}
// 最后的结果应该是:i=1,r="HelloWorld"