title: Can C# generics have a specific base type?
body: <p>Is it possible for a generic interface's type to be based on a specific parent class?</p>
  
  <p>For example:</p>
  
  <pre><code>public interface IGenericFace&lt;T : BaseClass&gt;
  {
  }
  </code></pre>
  
  <p>Obviously the above code doesn't work but if it did, what I'm trying to tell the compiler is that <code>T</code> must be a sub-class of <code>BaseClass</code>.  Can that be done, are there plans for it, etc.?</p>
  
  <p>I think it would be useful in terms of a specific project, making sure a generic interface/class isn't used with unintended type(s) at compile time.  Or also to sort of self-document: show what kind of type is intended.</p>