在c#中动态调用方法

我希望能够存储函数引用并忽略参数,直到它实际被使用.

这是我想要的样子:

StoreType f=MyFunction;
.......
var r=f.Invoke(arg1,arg2,arg3) as ReturnType;

这有点像Action和Func,但是那些是强类型的,我希望能够声明并使用这种类型,而无需准确知道函数将采用多少个参数和类型.

我怎么在c#中这样做?

最佳答案 对于参数计数,只需传递包含参数的对象数组.

f.Invoke(new object[]{ arg1, args2, args3, ... });

对于类型使用该方法

Convert.ChangeType(objectToConvert, destinationType);

应该为我工作:)

点赞