CancellationToken
とCancellationChangeToken
の違いは何ですか?どちらを使用するのですか?
同じ目的で使用できるようです。何が欠けていますか?
CancellationToken
はreadonly struct(これはパフォーマンス上の理由によると想定)として設計されているため、拡張(継承)できません。したがって、キャンセルトークンの抽象化を使用する場合は、CancellationToken
structを使用できません。このためには、IChangeToken
を使用する必要があります。
したがって、ここにclassCancellationChangeToken
が到着します。 class(structとしてCancellationToken
)およびIChangeToken
interface;を実装します。 CancellationToken
struct(実際のキャンセルトークン)をラップします
したがって、キャンセルトークンの抽象化を使用する場合は、IChangeToken
とその実装ej:CancellationChangeToken
を使用する必要があります。
CancellationToken
またはCancellationChangeToken
を使用する場合
変更通知だけに関心がある場合は、CancellationToken
を使用できます。ただし、キャンセルトークンを抽象化として使用する場合は、IChangeToken
とその実装(CancellationChangeToken
など)を使用する必要があります。