System.ComponentModel.BackgroundWorkerの使用方法についてはかなりよく理解しています。基本的には、単一の「DoWork」関数と、通常は機能するe.Cancelループと、ループを中断して停止するかどうかを判断するためにチェックする各反復があります。BackgroundWorkerの「DoWork」を終了します (これはすべて、WorkerSupportsCancellationプロパティが正しく設定されていることを前提としていますtrue)。
よくわからないのは、タスクを実行する再帰関数があるかどうかです (正確な関数は関係ありません。再帰関数は古典的な計算階乗としましょう) (ループではなく) どうすればこれを内部から呼び出すことができますか? 「DoWork」関数、そしてe.Cancelこの場合、再帰を回避するためにどのようにアップを伝播するのですか?