title: C# Generics: Constraining T where T : Object doesn't compile; Error: Constraint cannot be special class 'object'
body: <p>When I constrain T with : Object like this:</p>
  
  <pre><code>public interface IDoWork&lt;T&gt; where T : Object
  {
      T DoWork();
  }
  </code></pre>
  
  <p>I get the error:</p>
  
  <blockquote>
    <p>Constraint cannot be special class 'object'</p>
  </blockquote>
  
  <p>Does that mean there is an implied difference with the following that does compile?</p>
  
  <pre><code>public interface IDoWork&lt;T&gt; // where T : Object
  {
      T DoWork();
  }
  </code></pre>