title: Why am I getting CS0119 using a static method in a template?
body: <p>Why does this (contrived) example give "error CS0119: 'T' is a 'type parameter', which is not valid in this context". Surely I have told it that the type will have a suitable method?</p>
  
  <pre><code>abstract class Foo
  {
     static public bool IsIt() {return true;}
  }
  
  class Bar
  {
     public bool CanIt&lt;T&gt;() where T : Foo
     {
         return T.IsIt();
     }
  }
  </code></pre>
  
  <p>The actual motivating example is something more complicated involving CRTP in the template parameter, but this shows the problem.</p>