質問: await GetintValue.ToString(); } private async Task GetintValue() { await //何か重い処理 return 1; } ``` 重い処理は内部が隠蔽されているクラスライブラリを想定しています。
回答: こんにちは。 私は、terminatedフラグを用意します。初期値はfalseで中断させたい時にtrueを設定します。そして、「何か重い処理」の中で時々それをチェックし、trueだったら中断させます。 なお、terminatedフラグをtrueにした後、安易にGatintValue()の終了を待つと確実にデッドロックするので要注意です。 ケースバイケースで対処してます。なかなか一般的な解が見つかっていませんが、私はSynchronizationContextを使うことが多いです。