title: Cross thread invoke exception
body: <p>In order to change a control by another thread, I need to invoke a delegate to change the control However, it is throwing a <code>TargetParameterCountException</code>:</p>
  
  <pre><code>private void MethodParamIsObjectArray(object[] o) {}
  private void MethodParamIsIntArray(int[] o) {}
  
  private void button1_Click(object sender, EventArgs e)
  {
          // This will throw a System.Reflection.TargetParameterCountException exception
          Invoke(new Action&lt;object[]&gt;(MethodParamIsObjectArray), new object[] { });
          // It works
          Invoke(new Action&lt;int[]&gt;(MethodParamIsIntArray), new int[] { });
  }
  </code></pre>
  
  <p>Why does invoking with <code>MethodParamIsObjectArray</code> throw an exception?</p>