title: Wrapping ObservableCollection<T> in C#
body: <p><a href="https://stackoverflow.com/questions/8349682/complex-type-ignored-by-entity-framework-code-first">I have reason</a> to wrap an instance of <code>ObservableCollection&lt;T&gt;</code> in another type.</p>
  
  <p>I'm implementing <code>ICollection&lt;T&gt;</code> in my new type.  That's straightforward.  I'm also implementing <code>INotifyCollectionChanged</code>, which means implementing </p>
  
  <pre><code>public event NotifyCollectionChangedEventHandler CollectionChanged;
  </code></pre>
  
  <p>The best path I can think of to implement this is to place additional code in my implementation of <code>ICollection&lt;T&gt;</code>, like this:</p>
  
  <pre><code>public void Add(T item)
  {
      Collection.Add(item);
      if (CollectionChanged != null) CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, item));
  }
  </code></pre>
  
  <p>(Collection is the instance of <code>ObservableCollection&lt;T&gt;</code> that I am wrapping).</p>
  
  <p>Is there a way to leverage the implementation of <code>INotifyCollectionChanged</code> that Collection provides, rather than re-implementing it myself?</p>