I was having a look at the ObservableCollection code (thanks to the awsome .NET Reflector) and was surprised to find that the Add and Remove methods are not overriden. How then does ObservableCollection raise the PropertyChanged or CollectionChanged event to notify when something is added or removed?
Share
It overrides a bunch of protected methods of the base Collection<T> class, e.g. InsertItem(int index, T item), RemoveItem(int index), etc.
These overrides specifically raise the events: