Dynamically invoke method in c#

Total Post:128


 2188  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#?


  1. Re: Dynamically invoke method in c#

    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);


Please check, If you want to make this post sponsored

You are not a Sponsored Member. Click Here to Subscribe the Membership.