に現在のタスクインスタンスを取得します - それは私はそうのような非同期メソッド本体をお持ちの場合は非同期メソッド本体
にするときのawaitキックユーザに返される前に、私はTaskオブジェクトを取得できますかpublic async Task GetSomething() {
await SendText("hi");
await SendImage("bla.bmp");
}
すなわち..ので、どこか別の場所
public async Task GetSomething() {
myTasks.Add(Task.Current);
await SendText("hi");
await SendImage("bla.bmp");
//some processing
}
私が行うことができます
await Task.WhenAll(myTasks);
Console.WriteLine("All tasks complete");
シャットダウンする前にすべてのタスクが完了するのを待つことができるようにする
'SendText'と' SendImage'の署名は何ですか? – oleksii
違いはありません。これは、GetSomethingが複数の子演算を実行することを示すダミーコードです。それらを明確にする場合は、Thread.Sleep(50000)に置き換えてください。 – NoPyGod
はい、あります。 'Task'または' Task 'であれば' void'、 'Task'と' Task 'を返すことができ、コードをリファクタリングすることができます。タスクオブジェクトを取得して単一の配列に追加できます。 –
oleksii