質問: なぜContinueWhenAllとContinueWhenAnyはサポートされていないTaskContinuationOptionsを持っていますか? MSDNやその他の書籍のドキュメントを読むと、両方の関数にTaskContinuationOptionを受け入れるオーバーロードがあることがわかりました。しかし、彼らはこの声明に従って例外をスローすることができます: > 複数のタスクからの継続の特定の継続タイプを除外することは無効です。 > > TaskCreationOption列挙型と同様に、TaskContinuationOptions.AttachedToParent、LongRunning、PreferFairness、ExecuteSynchronouslyおよびNoneのみを許可しているようです。 なぜこれはそうですか?
回答: 無効なNotOn *とOnlyOn * TaskContinueOptionの値は、*単一*タスクの継続オプションを表します。 ContinueWhenAll()メソッドとContinueWhenAny()メソッドは、 *set* タスクで動作します。オプションをチェックしてArgumentOutOfRange例外をスローする内部メソッドは、 "CheckMultiTaskContinuationOptions"という名前で、 *MultiTask* を強調しています。