using System.Collections.Generic; using System.Collections.ObjectModel; using Configuration.Properties; namespace Configuration { public class ObservableUniqueCollection : ObservableCollection { #region Constructors, Destructors and Finalizers public ObservableUniqueCollection(IEnumerable items) { foreach (var item in items) { if (Contains(item)) { continue; } base.Add(item); } } [UsedImplicitly] public ObservableUniqueCollection() { } #endregion #region Public Methods public new void Add(T item) { if (Contains(item)) { return; } base.Add(item); } public new void Insert(int index, T item) { if (Contains(item)) { return; } base.Insert(index, item); } public new void InsertItem(int index, T item) { if (Contains(item)) { return; } base.InsertItem(index, item); } #endregion } }