title: Is it possible to not implement a method inherited from an interface in C#?
body: <p>Looking at the Project Server 2010 SDK (found <a href="http://msdn.microsoft.com/en-us/library/ms512767.aspx" rel="nofollow noreferrer">here</a> in .NET Reflector, I have found something interesting that confuses me.</p>
  
  <p>Apparently, the <code>SvcProject.ProjectClient</code> class in <code>ProjectServerServices.dll</code> inherits from <code>System.ServiceModel.ClientBase&lt;Project&gt;</code>, which is an abstract class that implements the <code>System.IDisposable</code> interface.  However, when I inspect the <code>SvcProject.ProjectClient</code> class (which is not abstract), there is no <code>Dispose</code> method.  What gives?  I thought that every method inherited from interfaces had to be implemented in a concrete implementation (otherwise what's the use of interfaces).  Is .NET Reflector lying to me?  Did Microsoft for some reason circumvent this requirement?  What's going on?</p>