親と子のタスク
Contents
[
Hide
Show
]タスクは階層で整理できます。タスクにその下に1つ以上のタスクがある場合、それらは親と呼ばれます。下のタスクは子供と呼ばれます。
親のタスクと子供を扱う
タスククラスは、次を決定するのに役立つクラスを公開します。
- 親:タスクが親タスクであると判断します。タスクオブジェクトを受け入れて返します。
- 子供:タスクは子のタスクであると判断します。タスクオブジェクトの配列リストを受け入れて返します。
Microsoftプロジェクトの親と子のタスク
マイクロソフトプロジェクトの親または子のタスクとしてタスクを宣言するには:
- タスクエントリフォームで、タスクを選択してクリックします。
- outsentを選択して、タスクを親に変えるか、
- indentを選択して、タスクを子供に変換します。
親と子のタスクを取得する
次の例は、Aspose.Tasksを使用してプロジェクトで親と子のタスクを表示することを示しています。
1// Create project instance
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ParentChildTasks.mpp");
4
5// Create a ChildTasksCollector instance
6System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>();
7
8// Collect all the tasks from RootTask using TaskUtils
9TaskUtils::Apply(project1->get_RootTask(), collector, 0);
10
11// Parse through all the collected tasks
12
13{
14 auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator();
15 decltype(tsk1_enumerator->get_Current()) tsk1;
16 while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true))
17 {
18 System::Console::WriteLine(tsk1->Get(Tsk::Name()));
19 }
20}