<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>

```
```
public interface IGenericFace<T> where T : SomeBaseClass
```
```