Visual。 。新しい非同期修飾子は使用するのに最適のように見えますが、残念なことに、単純なテストを実行することはできません。
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<string> QueryRover()
{
await Task.Delay(5000);
return "Doin' good!";
}
MSDNでいくつかの例を確認しましたが、このコードは機能するはずですが、代わりに「await QueryRover();」を含む行でビルドエラーが発生しています。私は夢中になっているか、何か怪しいことが起こっていますか?
await
メソッドで使用できるのはasync
のみで、 Main
をasync
にすることはできません。
独自のasync
互換コンテキストを使用するか、Wait
メソッドで返されたTask
でMain
を呼び出すか、返されたTask
を無視して、Read
の呼び出しをブロックする必要があります。 Wait
は、例外をAggregateException
にラップすることに注意してください。
適切なイントロが必要な場合は、私の async
/await
イントロ投稿 を参照してください。