title: Practical advantage of generics vs interfaces
body: <p>What would be a practical advantage of using generics vs interfaces in this case:</p>
  
  <pre><code>void MyMethod(IFoo f) 
  {
  }
  
  void MyMethod&lt;T&gt;(T f) : where T : IFoo
  {
  }
  </code></pre>
  
  <p>I.e. what can you do in <code>MyMethod&lt;T&gt;</code> that you couldn't in the non-generic version? I'm looking for a practical example, I know what the theoretical differences are.</p>
  
  <p>I know that in <code>MyMethod&lt;T&gt;</code>, T will be the concrete type, but nonetheless I will only be able to use it as an IFoo within the body of the method. So what would be a real advantage?</p>