Getting a return value from a methodInfo.invoke

user1688175 picture user1688175 · Sep 21, 2012 · Viewed 24.7k times · Source

How do I get a return value (int) from a methodInfo.invoke?

What makes it difficult for me is the fact that I use a string variable to call the method.

Check the example below:

if (Convert.ToBoolean(getParameterFromXML("issue", k, 1)) == true)
{
    m = k + 1;

    MethodInfo methodInfo = typeof(frmDetails).GetMethod("Issue" + m);
    methodInfo.Invoke(this, Parameters);

}

What can I do? Any help would be appreciated.

Answer

Maarten picture Maarten · Sep 21, 2012

When I read this you get the result of the method back from the Invoke-call. It is returned as an object so you need to cast it to a specific type.

var returnValue = (int) methodInfo.Invoke(this, Parameters);