わかりました。を使用してタスクをキャンセルする方法を理解しましCancellationTokenSource
た。Task
タイプ「種類」がこの例外を自動的に処理するように見えます-それはTask
'sStatus
を Cancelled に設定します。
これで、まだ実際に を処理する必要がありOperationCancelledException
ます。それ以外の場合、例外は までバブルしApplication.UnhandledException
ます。タスク自体はそれを認識し、内部で何らかの処理を行いますが、未処理の例外を回避するために呼び出しコードを try ブロックでラップする必要があります。時々、これは不要なコードのように思えます。ユーザーがキャンセルを押した場合は、キャンセルしますTask
(明らかに、タスク自体もそれを処理する必要があります)。他のコード要件が必要だとは思いません。Status
プロパティでタスクの完了ステータスを確認するだけです。
言語設計の観点から、これには特定の理由がありますか? Status
プロパティをキャンセルに設定する他の方法はありますか?