/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyObservableRangeDictionary{TKey, TValue}"/> class /// </summary> /// <param name="observableRangeDictionary">The <see cref="IObservableRangeDictionary{TKey, TValue}"/> around which to wrap</param> public ReadOnlyObservableRangeDictionary(IObservableRangeDictionary <TKey, TValue> observableRangeDictionary) : base(observableRangeDictionary) { observableRangeDictionary.CollectionChanged += HandleCollectionChanged; observableRangeDictionary.GenericCollectionChanged += HandleGenericCollectionChanged; ((INotifyDictionaryChanged)observableRangeDictionary).DictionaryChanged += HandleDictionaryChanged; ((INotifyDictionaryChanged <TKey, TValue>)observableRangeDictionary).DictionaryChanged += HandleDictionaryChanged; }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyObservableRangeDictionary{TKey, TValue}"/> class /// </summary> /// <param name="observableRangeDictionary">The <see cref="IObservableRangeDictionary{TKey, TValue}"/> around which to wrap</param> public ReadOnlyObservableRangeDictionary(IObservableRangeDictionary <TKey, TValue> observableRangeDictionary) : base(observableRangeDictionary) { if (observableRangeDictionary is null) { throw new ArgumentNullException(nameof(observableRangeDictionary)); } observableRangeDictionary.CollectionChanged += HandleCollectionChanged; observableRangeDictionary.GenericCollectionChanged += HandleGenericCollectionChanged; ((INotifyDictionaryChanged)observableRangeDictionary).DictionaryChanged += HandleDictionaryChanged; ((INotifyDictionaryChanged <TKey, TValue>)observableRangeDictionary).DictionaryChanged += HandleDictionaryChanged; }