在C#中,可以通過以下幾種方式實現異步調用方法:
public async Task<string> GetResultAsync()
{
// 異步操作
await Task.Delay(1000);
return "異步調用完成";
}
public static async Task<string> GetResultAsync()
{
return await Task.Run(() =>
{
// 異步操作
Thread.Sleep(1000);
return "異步調用完成";
});
}
public delegate string MyDelegate();
public static string GetResult()
{
// 同步操作
Thread.Sleep(1000);
return "異步調用完成";
}
public static void AsyncCallback(IAsyncResult ar)
{
MyDelegate del = (MyDelegate)((AsyncResult)ar).AsyncDelegate;
string result = del.EndInvoke(ar);
Console.WriteLine(result);
}
public static void Main(string[] args)
{
MyDelegate del = new MyDelegate(GetResult);
del.BeginInvoke(new AsyncCallback(AsyncCallback), del);
// 等待異步調用完成
Console.ReadLine();
}
以上是幾種常見的實現異步調用方法的方式,根據具體的需求可以選擇適合的方法。