Visual Studio:如何轻松地将方法及其调用者转换为异步

Visual Studio: How to easily convert a method and its callers to async

在 VS2019 中,是否可以将方法的签名更改为 return a TaskTask<T> 并以级联方式使所有上游调用者异步?

In VS2019, is it possible to change a method's signature to return a Task or Task...

简短的回答是否定的

因为可以重构方法的名称,如果您选择智能感知选项重命名,调用者的名称将会更改,但它不会处理任何您想要的异步需求。换句话说,重构不是异步感知的。

为了异步,需要将方法标记为异步,并 return 任务或任务。我们可以这样改:

//previously:
public int Something()
{
    int something = ...;
    return something;
}

//now
public async Task<int> Something()
{
    int something = ...;
    return await Task.FromResult(something);
}

请注意,这并没有使它本质上是异步的,它只是处理它的签名。