0

私は他のものと比較する方法を知っているカスタム型を持っています (IComparable を実装しています)。ObservableList 内に格納されてうまく機能しています。

しかし、コレクションにはまだ足りないものがあります。4つの機能が必要です。コレクション:

  1. 重複を検出し、挿入を防ぎます。
  2. 成功したすべての挿入で自動的に並べ替えます。
  3. 観察可能 &
  4. アイテムのバッチが挿入された場合、バッチが挿入されたときにのみ通知されます。

そのようなコレクションを作成する方法、調査/実装する必要があるものなどについてのヒントをお願いします。コードを探しているわけではありませんが、ボーナスを与えることができれば.

私がやろうと思ったこと:

ObservableCollection から継承し、add メソッドをオーバーライドし、項目が既に存在するかどうかを確認し、存在する場合は無視します。

または

List のようなより一般的な型に基づいて、独自の監視可能なコレクションを実装します。

4

1 に答える 1

0

重複挿入を防ぎ、並べ替えが必要な場合は、SortedSetが適切な開始位置になる可能性があります。通知が必要なので、標準の SortedSet を拡張して and を実装する必要がINotifyCollectionChangedありINotifyPropertyChangedます。ここに例があり、代わりにa を使用する別の例がありますHashSet(これは順不同ですが、簡単に a に置き換えることができますSortedSet)。

同様に有効な代替手段は、最初の提案と拡張を使用することObservableCollectionです。

于 2013-06-29T17:04:41.007 に答える