如何在空接口方法上使用async

Cam*_*and 12 c# syntax asynchronous

说我有一个界面

interface IFoo {
    Task SomeMethodAsync();
}
Run Code Online (Sandbox Code Playgroud)

我想实现这个接口,但对于一个类,该方法是空白的.

我应该忍受这产生的警告吗?

async Task SomeMethodAsync() {}
Run Code Online (Sandbox Code Playgroud)

或者我应该让它返回一些虚拟任务?

async Task SomeMethodAsync() { await Task.Run(() => {}); }
Run Code Online (Sandbox Code Playgroud)

还是有其他选择吗?

另外,我想将此方法实现为显式接口方法.这会有什么不同吗?

Ste*_*ary 14

返回的方法Task不一定是async.

我会推荐这样的东西:

Task IFoo.SomeMethodAsync()
{
  return Task.FromResult(true);
}
Run Code Online (Sandbox Code Playgroud)

我假设如果这是一个同步方法,你只需要一个空的方法体; 这async相当于一个空方法体.