title: C# - generic methods vs. non-generic methods
body: <p>I'm a bit confused about why/when I'd ever want to use a generic method since a non-generic method can access the generic members of its containing class and be passed generic arguments anyway.</p>
  
  <p>So, using a canned example that likely misses the point (yet highlights why I'm asking this question), why would I do this:</p>
  
  <pre><code>public class SomeGeneric&lt;T&gt;
  {
      public T Swap&lt;T&gt;(ref T a, ref T b)
      {
          T tmp = a;
          a = b;
          b = tmp;
      }
  }
  </code></pre>
  
  <p>over</p>
  
  <pre><code>public class SomeGeneric&lt;T&gt;
  {
      public T Swap(ref T a, ref T b)
      {
          T tmp = a;
          a = b;
          b = tmp;
      }
  }
  </code></pre>
  
  <p>this?</p>
  
  <p>Or, really, why would I want to use a generic method <em>at all</em>?</p>