Оператор await может использоваться только с асинхронными методами? - PullRequest
0 голосов
/ 31 декабря 2018

Привет! Я создал асинхронный метод c # для получения всех проектов из VSTS.

Вот как выглядит определение

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

Но когда я пытаюсь получить возвращаемое значениеотсюда он говорит, что оператор await может использоваться только с асинхронными методами. Я не понял этого, поскольку я новичок в этих асинхронных и ожидающих методах.Способ, которым я пытался получить доступ, выглядит следующим образом:

string s;

s=await GetProjects();

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Если ваш метод использует await, он должен быть помечен как async.Вы можете прочитать здесь, почему: https://blogs.msdn.microsoft.com/ericlippert/2010/11/11/asynchrony-in-c-5-part-six-whither-async/

0 голосов
/ 31 декабря 2018

Если вам отчаянно нужен асинхронный метод, вы можете сделать это следующим образом:

return Task.FromResult("");

Однако вы должны действительно прочитать this , как @PeterBons предложил

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...