すべての非同期の例は、最終的に .net 非同期メソッドを呼び出すようです。
async
.net メソッドを呼び出さないカスタム メソッドを作成することは可能async
ですか?
これは私がこれまでに得た場所です:
[Test]
public void Test()
{
TestAsync();
}
public async void TestAsync()
{
await DoStuffAsync(1);
Task.Run(() => DoStuffAsync(73));
await Task.WhenAll(DoStuffAsync(2), DoStuffAsync(3));
}
public async Task DoStuffAsync(int n)
{
Thread.Sleep(1000);
Console.WriteLine("done stuff " + n);
}
これに関する唯一の問題は、VS が DoStuffAsync の async キーワードは役に立たないと言っていることです (待機がないため) が、待機は必要ありません。このメソッドを待機する可能性が必要なだけです。