Home > DeveloperSection > Forums > Dynamically invoke method in c#
Ashish Pandey

Total Post:128

Posted on    March-05-2013 3:07 AM

 C# C# 

 1 Reply(s)
 1224  View(s)
Rate this:

Hi Everyone!

I want to be able to store function reference and disregard arguments until it actually is used.

Here's what I'd like for it to look like:

StoreType f=MyFunction;
var r=f.Invoke(arg1,arg2,arg3) as ReturnType;
This is kind of like Action and Func, but those are strongly typed, and I want to be able to declare and use this type without precisely knowing how many arguments and of what types the function will take.

How do I do this in c#?



Total Post:604

Posted on    March-05-2013 8:06 AM

Hi Ashish!

For the argument count, just pass an array of object containing the arguments.

f.Invoke(new object[]{ arg1, args2, args3, ... });
For the type use the method

Convert.ChangeType(objectToConvert, destinationType);

Don't want to miss updates? Please click the below button!

Follow MindStick