- Timestamp:
- 12/28/09 21:38:15 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Collections/3.3/ObservableKeyedCollectionBase.cs
r2573 r2574 30 30 namespace HeuristicLab.Collections { 31 31 [Serializable] 32 public abstract class ObservableKeyedCollectionBase<TKey, TItem> : CollectionChangedEventsBase<TItem>, ICollection<TItem> {32 public abstract class ObservableKeyedCollectionBase<TKey, TItem> : IObservableKeyedCollection<TKey, TItem> { 33 33 [Storable] 34 34 private Dictionary<TKey, TItem> dict; … … 76 76 foreach (TItem item in collection) 77 77 AddItem(item); 78 } 79 #endregion 80 81 #region Destructors 82 ~ObservableKeyedCollectionBase() { 83 Dispose(false); 84 } 85 protected virtual void Dispose(bool disposing) { 86 if (disposing) { 87 Clear(); 88 } 89 } 90 public void Dispose() { 91 Dispose(true); 92 GC.SuppressFinalize(this); 78 93 } 79 94 #endregion … … 232 247 } 233 248 #endregion 249 250 #region Events 251 [field: NonSerialized] 252 public event CollectionItemsChangedEventHandler<TItem> ItemsAdded; 253 protected virtual void OnItemsAdded(IEnumerable<TItem> items) { 254 if (ItemsAdded != null) 255 ItemsAdded(this, new CollectionItemsChangedEventArgs<TItem>(items)); 256 } 257 258 [field: NonSerialized] 259 public event CollectionItemsChangedEventHandler<TItem> ItemsRemoved; 260 protected virtual void OnItemsRemoved(IEnumerable<TItem> items) { 261 if (ItemsRemoved != null) 262 ItemsRemoved(this, new CollectionItemsChangedEventArgs<TItem>(items)); 263 } 264 265 [field: NonSerialized] 266 public event CollectionItemsChangedEventHandler<TItem> ItemsReplaced; 267 protected virtual void OnItemsReplaced(IEnumerable<TItem> items, IEnumerable<TItem> oldItems) { 268 if (ItemsReplaced != null) 269 ItemsReplaced(this, new CollectionItemsChangedEventArgs<TItem>(items, oldItems)); 270 } 271 272 [field: NonSerialized] 273 public event CollectionItemsChangedEventHandler<TItem> CollectionReset; 274 protected virtual void OnCollectionReset(IEnumerable<TItem> items, IEnumerable<TItem> oldItems) { 275 if (CollectionReset != null) 276 CollectionReset(this, new CollectionItemsChangedEventArgs<TItem>(items, oldItems)); 277 } 278 #endregion 234 279 } 235 280 }
Note: See TracChangeset
for help on using the changeset viewer.