c# - 使用参数调用方法

时间:2017-07-21 15:55:31

标签: c#

如何使用参数调用方法?

我有这个:

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

有可能吗?

1 个答案:

答案 0 :(得分:0)

我不完全确定你要问的是什么,但我假设你试图通过它的名字来调用方法,并且该方法有参数。还假设:

  • 您有一个名为obj的对象YourObject
  • YourObject包含名为firstsecond的公共非静态方法

然后您应该可以使用以下内容:

if (isTrue)
    typeof(YourObject).GetMethod(methods[0]).Invoke(obj, new[] { number });
else if (!isTrue)
    typeof(YourObject).GetMethod(methods[1]).Invoke(obj, new[] { number, text });