title: C#: Override generic method using class generic parameter
body: <p>Why is this not possible?</p>
  
  <pre><code>abstract class A
  {
      public abstract T f&lt;T&gt;();
  }
  
  class B&lt;T&gt; : A
  {
      public override T f()
      {
          return default (T);
      }
  }
  </code></pre>
  
  <p>Errors:</p>
  
  <pre><code>does not implement inherited abstract member 'A.f&lt;T&gt;()'
  no suitable method found to override
  </code></pre>
  
  <p>I know that the signature must be same, but from my point of view I see no reason what could possibly be wrong that this is forbidden.
  Also I know that another solution is to make <code>A</code> generic, rather than its method, but it is not suitable for me for some reason.</p>