Оператор ожидания может использоваться только в асинхронном методе [дубликат]

На этот вопрос уже есть ответ здесь:

Я пытаюсь создать простую программу для тестирования новой асинхронной функциональности.NET в Visual Studio 2012. Обычно я использую BackgroundWorkers для запуска времени -, потребляя код асинхронно, но иногда это кажется хлопотным для относительно простого (но дорогая )операция. Новый модификатор async выглядит так, как будто его было бы здорово использовать, но, к сожалению, я просто не могу провести простой тест.

Вот мой код,в консольном приложении C #:

static void Main(string[] args)
{
    string MarsResponse = await QueryRover();
    Console.WriteLine("Waiting for response from Mars...");
    Console.WriteLine(MarsResponse);
    Console.Read();
}

public static async Task QueryRover()
{
    await Task.Delay(5000);
    return "Doin' good!";
}

Я проверил несколько примеров в MSDN, и мне кажется, что этот код должен работать, но вместо этого я получаю ошибку сборки в строке, содержащей «ожидание QueryRover ();» Я схожу с ума или происходит что-то подозрительное?

69
задан svick 7 August 2012 в 16:54
поделиться