1

TPLを使用して、複数のタスクを設定し(動的に作成され、多数になる可能性があります)、それぞれがboolを返します。すべてのタスクの戻り値がtrueかどうかを確認したい. どうすればいいですか?出来ますか?そうでない場合、各タスクに共有オブジェクトを渡して、タスクにこのオブジェクトを更新させることは可能ですか?

編集:これは私の仕事の例です。ProcessEntity はブール値を返します。現在、これらのタスクを複数作成して実行しています。すべての結果が真であることを確認する必要があります。

 private Task<bool> CreateTask(MyEntity entity, Action onStart, Action onComplete)
    {
        return (new Task<bool>(
            () =>
            {
                onStart.Invoke();
                var result = false;
                try
                {
                    result = ProcessEntity(myEntity);
                }
                catch (Exception ex)
                {
                }

                onComplete.Invoke();
                return result;
            })
               );
    }

 for (int i = 0; i < counter; i++)
        {
            CreateTask(entities[i], () => _taskCounter++, () => _taskCounter--).Start();
        }

したがって、この時点で、他のコードの実行を続行する必要があります。それは、すべてのタスクが true を返した場合にのみ実行する必要があります。

4

1 に答える 1