从字符串调用 void

本文关键字:void 调用 字符串 | 更新日期: 2023-09-27 18:30:41

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

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

从字符串调用 void

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

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

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

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