title: Passing delegate method and dynamically invoking arguments
body: <p>I've asked a similar question before but I'm just having a hard time wrapping my head around this...</p>
  
  <p>I have a delegate...</p>
  
  <pre><code>delegate void assertDelegate(params object[] args);
  </code></pre>
  
  <p>and I have a method that invokes the delegate...</p>
  
  <pre><code>public void assert(assertDelegate assertMethod, params object[] args) {
          string expectedValue;
          string actualValue;
          // derive value of 'expectedValue' and 'actualValue' from 'args'
          assertMethod.DynamicInvoke(expectedValue, actualValue);
      }
  </code></pre>
  
  <p>my thought was that there has to be a way to pass the action and dynamically invoke the arguments for that action...</p>
  
  <pre><code>assert(Assert.AreEqual,new object[]{ HtmlDiv.PropertyNames.Id, "footer"});
  </code></pre>
  
  <p>but I'm getting the error <code>Expected a method with 'void AreEqual(params object[])' signature</code>.  </p>
  
  <p>Perhaps I'm misunderstanding <code>DynamicInvoke</code>?</p>