如何使用参数调用方法?
我有这个:
List<String> methods = new List<String>(new List<String>{ "first", "second" });
int number = 4;
String text = "Hi";
bool isTrue = false;
想要调用这样的方法:
if (isTrue)
Invoke(methods[0], number);
else if (!isTrue)
Invoke(methods[1], { number, text });
有可能吗?
答案 0 :(得分:0)
我不完全确定你要问的是什么,但我假设你试图通过它的名字来调用方法,并且该方法有参数。还假设:
obj
的对象YourObject
YourObject
包含名为first
和second
的公共非静态方法然后您应该可以使用以下内容:
if (isTrue)
typeof(YourObject).GetMethod(methods[0]).Invoke(obj, new[] { number });
else if (!isTrue)
typeof(YourObject).GetMethod(methods[1]).Invoke(obj, new[] { number, text });