2012-02-06 24 views
2

MSDNやその他の書籍のドキュメントを読むと、両方の関数にTaskContinuationOptionを受け入れるオーバーロードがあることがわかりました。しかし、次のステートメントに基づいて例外をスローすることができます。なぜContinueWhenAllとContinueWhenAnyはTaskContinuationOptionsをサポートしていませんか?

複数のタスクを継続する特定の継続タイプを除外することは無効です。

彼らが唯一のTaskCreationOption列挙に似TaskContinuationOptions.AttachedToParent、LongRunning、PreferFairness、ExecuteSynchronouslyやなしに、許可しているようです。

これはなぜですか?

答えて

3

まあ、無効なNotOn *とOnlyOn * TaskContinueOptionの値は、の単一のタスクの続行オプションを示しています。 ContinueWhenAll()メソッドとContinueWhenAny()メソッドは、のタスクセットで動作します。オプションをチェックしてArgumentOutOfRange例外をスローする内部メソッドは、 "CheckMultiTaskContinuationOptions"という名前で、MultiTaskに重点が置かれています。

関連する問題