title: How do I via reflection in C# call a method that takes a 'method group' ie. Action<> or Func<>
body: <p>I have a method with this signature, and another method that will be the used as the <em>Action</em></p>
  
  <pre><code>ProcessFile(Uri uri, Action&lt;Uri&gt; callWhenDone);
  
  void WhenDone(Uri uri);
  </code></pre>
  
  <p>Now I'm trying to use the <em>Invoke</em> method on <em>MethodInfo</em> (<a href="http://msdn.microsoft.com/en-us/library/system.reflection.methodinfo.invoke.aspx" rel="nofollow">msdn</a>). But <em>parameters</em> is and object array. Which does not accept a 'method group'.</p>
  
  <pre><code>var methodInfo = myClass.GetType().GetMethod("nameOfMethod");
  
  var methodParams = new object { new Uri(), WhenDone }; //&lt;-- unable to just do this
  
  methodInfo.Invoke(myClass, methodParams);
  </code></pre>
  
  <p><strong>How do I pass the method group, or a delegate to the method ProcessFile using <em>Invoke</em> or similar?</strong></p>