从字符串中调用void

时间:2016-01-17 23:47:14

标签: c# string call void

我的应用程序是在运行时为字符串定义方法名称。我想从字符串中调用该方法。

实施例

private void ButtonClick(){
    string goVoid;
    goVoid = "testVoid";
    goVoid(); // Calling testVoid
}

testVoid(){
    //code
}

1 个答案:

答案 0 :(得分:2)

您无法通过正常直接的方式单独指定字符串名称来调用方法,您只能通过使用反射来实现。 其他方法不是动态的,可能是开关流量控制,它将根据匹配调用您需要的方法。

对于以下内容,您需要System.Reflection

string methodName = "testVoid";
Type thisType = this.GetType();
MethodInfo theMethod = thisType.GetMethod(methodName);
theMethod.Invoke(this, null);

来源: https://stackoverflow.com/a/540075/303254