DYNAMICALLY INVOKE METHOD IN C#

Ashish Pandey

Total Post:128

Points:898
Posted by  Ashish Pandey
C# 
C#
 1597  View(s)
Ratings:
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#?

Thanks!

  1. AVADHESH PATEL

    Post:604

    Points:4228
    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);

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!