在C#中,BeginInvoke
方法用于在異步線程上執行委托。為了正確調用BeginInvoke
,請按照以下步驟操作:
MethodInvoker
委托:public delegate void MethodInvoker();
MyAsyncMethod
的方法:public void MyAsyncMethod()
{
Console.WriteLine("Hello from MyAsyncMethod!");
}
MethodInvoker myAsyncMethod = new MethodInvoker(MyAsyncMethod);
BeginInvoke
方法啟動異步執行。傳遞委托實例作為參數:myAsyncMethod.BeginInvoke(null, null);
BeginInvoke
方法接受兩個可選參數,分別是AsyncCallback
和Object
。AsyncCallback
是一個回調方法,當異步操作完成時,它將被調用。Object
是一個參數對象,可以傳遞給回調方法。在這個例子中,我們不需要回調方法和參數對象,所以傳遞null
。
完整的示例代碼如下:
using System;
using System.Threading;
class Program
{
public delegate void MethodInvoker();
public static void MyAsyncMethod()
{
Console.WriteLine("Hello from MyAsyncMethod!");
}
public static void Main(string[] args)
{
MethodInvoker myAsyncMethod = new MethodInvoker(MyAsyncMethod);
myAsyncMethod.BeginInvoke(null, null);
Console.WriteLine("Hello from Main!");
Console.ReadKey();
}
}
運行此代碼時,將看到以下輸出:
Hello from MyAsyncMethod!
Hello from Main!
這表明MyAsyncMethod
已成功在線程上異步執行。