title: Making a generic type constraint on Func<T>
body: <p>I wanted to know if this is possible:</p>
  
  <pre><code>public class Foo&lt;T&gt; where T : Func&lt;T&gt;
  </code></pre>
  
  <p>or</p>
  
  <pre><code>public class Foo&lt;T&gt; where T : Func&lt;&gt;
  </code></pre>
  
  <p>It seems like the compiler is telling me it not possible. I suppose I can throw a runtime exception in the constructor, but was hoping to have it a compiler error.</p>
  
  <p>Any ways about doing this?</p>