CancellationToken を指定して、CancellationToken がキャンセルされたときに非同期操作を表すオブジェクトで「キャンセル」メソッドを呼び出したいと考えています。これは可能ですか?
背景: 次の方法で非同期操作を表す API とやり取りしています (多かれ少なかれ):
class AsyncOp
{
void Start(Action callback);//returns 'immediately', while beginning an async op. Callback is called when the operation completes.
void Cancel();//aborts async operation and calls callback
}
これをメソッドで簡単にラップできますがTask DoAsyncOp()
、キャンセルをサポートしたいと思いTask DoAsyncOp(CancellationToken cancellationToken)
ます。私の場合、CancellationToken がキャンセルされたら、AsyncOp オブジェクトで Cancel を呼び出します。