等待操作符只能与异步方法一起使用吗?

时间:2018-12-31 08:42:39

标签: c# async-await

嗨,我创建了一个异步方法,它是c#,用于从VSTS获取所有项目。

这是防御的样子

public async Task<string> GetProjects()
{
    try
    {
        return r;
    }
    catch
    {
        return "";
    }
}

但是当我尝试从中获取返回值时,它说await运算符只能与Async方法一起使用。由于我对这些async和await方法不熟悉,所以我不理解它。我尝试访问的方式就是这样

string s;

s=await GetProjects();

2 个答案:

答案 0 :(得分:2)

如果您迫切需要一个异步方法,可以这样做:

return Task.FromResult("");

但是,您应该按照@PeterBons的建议阅读this

答案 1 :(得分:0)

如果您的方法使用await,则必须将其标记为async。 您可以在这里阅读原因:https://blogs.msdn.microsoft.com/ericlippert/2010/11/11/asynchrony-in-c-5-part-six-whither-async/