Nito.AsyncEx.AsyncContext.Run 的正确用法

Correct usage for Nito.AsyncEx.AsyncContext.Run

我正在使用 Steven called AsyncEx 中的优秀库来帮助我逐步将旧代码库过渡到异步世界。

文档说..

class Program
{
  static async Task<int> AsyncMain()
  {
    ..
  }

  static int Main(string[] args)
  {
    return AsyncContext.Run(AsyncMain);
  }
}

当调用具有不同签名的方法时,我应该做什么..

var blah = AsyncContext.Run(() => MyMethodAsync(myvar));

或在调用中指定async/wait?

var blah = AsyncContext.Run( async () => await MyMethodAsync(myvar));

或者,这不重要吗?

我现在相信这和 and therefore Rene's答案一样会有正确的

这里总结得不好——等待编译器的开销有点多,但在运行时基本相同。