title: invoking correct generic method using Type variable, with out and ref
body: <pre><code>static class Example
  {
      public static string Method&lt;T&gt;(ref List&lt;string&gt; p2, out string p3, string p4)
      {
        ...
      }
      public static string Method&lt;T&gt;(ref List&lt;string&gt; p2, out string p3, int p4)
      {
        ...
      }
  }
  </code></pre>
  
  <p>The following obviously doesn't work, but that's the idea:</p>
  
  <pre><code>public static string MethodCaller(Type theType, ref List&lt;string&gt; p2, out string p3, string p4)
  {
      Method&lt;theType&gt;(ref p2, out p3, p4);
  }
  </code></pre>
  
  <p>Using GetMethod? how does it know which of the two overloaded methods to use?
  should we Use Expression.Call instead? how do we deal with the ref and out parameters?</p>
  
  <p>Please help :)</p>