title: IDisposable with Multiple Levels of Inheritance
body: <p>Suppose you have the following inheritance chain:</p>
  
  <pre><code>class A : IDisposable
  {
      public void Dispose()...
      protected virtual void Dispose(bool disposing)...
  }
  
  class B : A
  {
      // Virtual or Override for B?
  }
  
  class C : B
  {
      protected override void Dispose(bool disposing)...
  }
  </code></pre>
  
  <p>If A, B, and C each have their own private IDisposable resources, how should B declare <code>Dispose(bool)</code>?</p>