title: C#: Abstract classes need to implement interfaces?
body: <p>My test code in C#:</p>
  
  <pre><code>namespace DSnA
  {
      public abstract class Test : IComparable
      {
  
      }
  }
  </code></pre>
  
  <p>Results in the following compiler error:</p>
  
  <pre><code>error CS0535: 'DSnA.Test' does not implement interface member
  'System.IComparable.CompareTo(object)'
  </code></pre>
  
  <p>Since the class <code>Test</code> is an <strong>abstract class</strong>, why does the compiler require it to implement the interface? Shouldn't this requirement only be <strong>compulsory</strong> for concrete classes?</p>