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/ReadOnlyObservableArray.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 Length {
    3742      get { return array.Length; }
     
    117122    }
    118123
     124    event EventHandler IObservableArray<T>.ReadOnlyViewChanged {
     125      add { }
     126      remove { }
     127    }
     128
    119129    [field: NonSerialized]
    120130    public event CollectionItemsChangedEventHandler<IndexedItem<T>> ItemsReplaced;
    121131    protected virtual void OnItemsReplaced(IEnumerable<IndexedItem<T>> items, IEnumerable<IndexedItem<T>> oldItems) {
    122       if (ItemsReplaced != null)
    123         ItemsReplaced(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
     132      CollectionItemsChangedEventHandler<IndexedItem<T>> handler = ItemsReplaced;
     133      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
    124134    }
    125135
     
    127137    public event CollectionItemsChangedEventHandler<IndexedItem<T>> ItemsMoved;
    128138    protected virtual void OnItemsMoved(IEnumerable<IndexedItem<T>> items, IEnumerable<IndexedItem<T>> oldItems) {
    129       if (ItemsMoved != null)
    130         ItemsMoved(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
     139      CollectionItemsChangedEventHandler<IndexedItem<T>> handler = ItemsMoved;
     140      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
    131141    }
    132142
     
    134144    public event CollectionItemsChangedEventHandler<IndexedItem<T>> CollectionReset;
    135145    protected virtual void OnCollectionReset(IEnumerable<IndexedItem<T>> items, IEnumerable<IndexedItem<T>> oldItems) {
    136       if (CollectionReset != null)
    137         CollectionReset(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
     146      CollectionItemsChangedEventHandler<IndexedItem<T>> handler = CollectionReset;
     147      if (handler != null) handler(this, new CollectionItemsChangedEventArgs<IndexedItem<T>>(items, oldItems));
    138148    }
    139149
     
    141151    public event PropertyChangedEventHandler PropertyChanged;
    142152    protected virtual void OnPropertyChanged(string propertyName) {
    143       if (PropertyChanged != null)
    144         PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     153      PropertyChangedEventHandler handler = PropertyChanged;
     154      if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
    145155    }
    146156
Note: See TracChangeset for help on using the changeset viewer.