Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/13/10 06:41:56 (14 years ago)
Author:
swagner
Message:

Implemented ReadOnlyView property for items (#969).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Collections/3.3/ReadOnlyObservableList.cs

    r3019 r3317  
    3434
    3535    #region Properties
     36    public bool ReadOnlyView {
     37      get { return true; }
     38      set { throw new NotSupportedException(); }
     39    }
     40
    3641    public int Count {
    3742      get { return ((ICollection<T>)list).Count; }
     
    119124    }
    120125
     126    event EventHandler IObservableCollection<T>.ReadOnlyViewChanged {
     127      add { }
     128      remove { }
     129    }
     130
    121131    [field: NonSerialized]
    122132    public event CollectionItemsChangedEventHandler<IndexedItem<T>> ItemsAdded;
    123133    protected virtual void OnItemsAdded(IEnumerable<IndexedItem<T>> items) {
    124       if (ItemsAdded != null)
    125         ItemsAdded(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items));
     134      CollectionItemsChangedEventHandler<IndexedItem<T>> handler = ItemsAdded;
     135      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items));
    126136    }
    127137
     
    133143    }
    134144    private void OnItemsAdded(IEnumerable<T> items) {
    135       if (itemsAdded != null)
    136         itemsAdded(this, new CollectionItemsChangedEventArgs<T>(items));
     145      CollectionItemsChangedEventHandler<T> handler = itemsAdded;
     146      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<T>(items));
    137147    }
    138148
     
    140150    public event CollectionItemsChangedEventHandler<IndexedItem<T>> ItemsRemoved;
    141151    protected virtual void OnItemsRemoved(IEnumerable<IndexedItem<T>> items) {
    142       if (ItemsRemoved != null)
    143         ItemsRemoved(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items));
     152      CollectionItemsChangedEventHandler<IndexedItem<T>> handler = ItemsRemoved;
     153      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items));
    144154    }
    145155
     
    151161    }
    152162    private void OnItemsRemoved(IEnumerable<T> items) {
    153       if (itemsRemoved != null)
    154         itemsRemoved(this, new CollectionItemsChangedEventArgs<T>(items));
     163      CollectionItemsChangedEventHandler<T> handler = itemsRemoved;
     164      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<T>(items));
    155165    }
    156166
     
    158168    public event CollectionItemsChangedEventHandler<IndexedItem<T>> ItemsReplaced;
    159169    protected virtual void OnItemsReplaced(IEnumerable<IndexedItem<T>> items, IEnumerable<IndexedItem<T>> oldItems) {
    160       if (ItemsReplaced != null)
    161         ItemsReplaced(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
     170      CollectionItemsChangedEventHandler<IndexedItem<T>> handler = ItemsReplaced;
     171      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
    162172    }
    163173
     
    165175    public event CollectionItemsChangedEventHandler<IndexedItem<T>> ItemsMoved;
    166176    protected virtual void OnItemsMoved(IEnumerable<IndexedItem<T>> items, IEnumerable<IndexedItem<T>> oldItems) {
    167       if (ItemsMoved != null)
    168         ItemsMoved(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
     177      CollectionItemsChangedEventHandler<IndexedItem<T>> handler = ItemsMoved;
     178      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
    169179    }
    170180
     
    172182    public event CollectionItemsChangedEventHandler<IndexedItem<T>> CollectionReset;
    173183    protected virtual void OnCollectionReset(IEnumerable<IndexedItem<T>> items, IEnumerable<IndexedItem<T>> oldItems) {
    174       if (CollectionReset != null)
    175         CollectionReset(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
     184      CollectionItemsChangedEventHandler<IndexedItem<T>> handler = CollectionReset;
     185      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
    176186    }
    177187
     
    183193    }
    184194    private void OnCollectionReset(IEnumerable<T> items, IEnumerable<T> oldItems) {
    185       if (collectionReset != null)
    186         collectionReset(this, new CollectionItemsChangedEventArgs<T>(items, oldItems));
     195      CollectionItemsChangedEventHandler<T> handler = collectionReset;
     196      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<T>(items, oldItems));
    187197    }
    188198
     
    190200    public event PropertyChangedEventHandler PropertyChanged;
    191201    protected virtual void OnPropertyChanged(string propertyName) {
    192       if (PropertyChanged != null)
    193         PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     202      PropertyChangedEventHandler handler = PropertyChanged;
     203      if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
    194204    }
    195205
Note: See TracChangeset for help on using the changeset viewer.