在C#中调用异步方法有以下几种方式:
- 使用
await
关键字:在异步方法前加上async
关键字,然后在调用该异步方法时使用await
关键字。这样可以在调用异步方法的地方等待异步方法执行完成。
public async Task MyMethodAsync() { await MyAsyncMethod(); } public async Task MyAsyncMethod() { await Task.Delay(1000); }
- 使用
Task.Run
方法:使用Task.Run
方法可以在后台线程中执行异步方法,并且可以在需要时等待其执行完成。
public async Task MyMethodAsync() { await Task.Run(() => MyAsyncMethod()); } public async Task MyAsyncMethod() { await Task.Delay(1000); }
- 使用
Task
的ContinueWith
方法:使用ContinueWith
方法可以在异步方法执行完成后执行指定的操作。
public async Task MyMethodAsync() { await MyAsyncMethod().ContinueWith(t => { // do something after MyAsyncMethod completes }); } public async Task MyAsyncMethod() { await Task.Delay(1000); }
这些是一些常见的调用异步方法的方式,在实际开发中可以根据具体情况选择合适的方式。