在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();
}
以上是几种常见的实现异步调用方法的方式,根据具体的需求可以选择适合的方法。