从C#中的字符串调用函数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (8)

我知道在PHP中你可以调用,如:

$function_name = 'hello';
$function_name();

function hello() { echo 'hello'; }

这在.Net中是可能的吗?

提问于
用户回答回答于

是。你可以使用反射。像这样的东西:

Type thisType = this.GetType();
MethodInfo theMethod = thisType.GetMethod(TheCommandString);
theMethod.Invoke(this, userParameters);
用户回答回答于

你可以使用反射调用类实例的方法,执行动态方法调用:

假设在实际实例(this)中有一个名为hello的方法:

string methodName = "hello";

//Get the method information using the method info class
 MethodInfo mi = this.GetType().GetMethod(methodName);

//Invoke the method
// (null- no parameter for the method call
// or you can pass the array of parameters...)
mi.Invoke(this, null);

扫码关注云+社区