バージョン

SortedTaskFieldsCollection クラス

Tasks コレクションの並べ替えをサポートします。
シンタックス
'宣言
 
Public Class SortedTaskFieldsCollection 
public class SortedTaskFieldsCollection 
解説

SortedTaskFieldsCollection は、ルート Tasks コレクションおよび各ルート タスクとその子孫の該当する Tasks コレクションの並べ替え順序を指定する方法を提供します。タスクは同じコレクションの他のメンバーに関して並べ替えられます。たとえば、異なる Tasks コレクションに属するタスクは比較されません。

SortedTaskFieldsCollection は、一般的に Add、AddRange、Remove and Clear などコレクション クラスに表示されるメソッドを公開します。あるフィールドについて並べ替えるには、デベロッパーはコレクションにメンバーを 1 つ追加します。複数フィールドについて並べ替えるには、デベロッパーは複数のメンバーをコレクションに追加します。このシナリオでは、コレクションの最初のメンバーが評価する最初の基準を提供し、2 番目以降のメンバーが追加の基準を決定します。比較すると、このコレクションは繰り返し処理され、そのコレクション メンバーの対応するタスク プロパティの値がタスクごとに比較されます。その繰り返しの比較結果が等しくなると、フィールド比較のいずれかが等しくなくなる、または SortedTaskFieldsCollection のすべてのメンバーが評価されるまで、繰り返し処理を続けることができます。

AddRange メソッドは、コレクション全体が生成された後、プロパティ変更通知が 1 つだけ送信されるよう、複数の並べ替えフィールドを 1 つのアトミック操作として指定する方法を提供します。これにより n 回ではなく (n は SortedTaskFieldsCollection の要素の数)、コレクションを 1 回だけ並べ替えるため、パフォーマンスが向上します。

Key プロパティの同じ値を持つメンバーがすでに存在する場合、メンバーをコレクションに追加または挿入すると、既存のインスタンスの位置が新しいインデックスへと移動します。コレクションにより、重複した値は自動的にコレクションに存在できません。

SortableTaskField 列挙体は、Task コレクションを並べ替えることができる各 Task プロパティの定数を提供します。あるプロパティはこの列挙体から意図的に省略されています。それらの値をどうやって並べ替えても意味がないためです。カスタム TaskColumn で並べ替えるために、その列の Key を使用します。Comparer プロパティは、タスクのカスタム並べ替え動作を定義する方法を提供します。有効な IComparer(Of Task) 実装をこのプロパティに割り当てるとコレクションの内容がオーバーライドされ、デバロッパーは完全に並べ替えをコントロールできるようになります。

参照