在运行时使用字符串调用函数

本文关键字:调用 函数 字符串 运行时 | 更新日期: 2023-09-27 18:00:41

我正试图找到一种方法来调用一个函数,方法是在文本框中键入其名称并单击按钮,我有417个函数,它们不接受任何变量

例如,我想在文本框中键入

listproducts

然后点击按钮

则CCD_ 1将被调用。

是否可以在不使用select case或if语句的情况下完成这些操作?或者可以给一个函数指定一个字符串名称并用这个名称调用它吗?

在运行时使用字符串调用函数

您需要使用反射。假设您要调用的函数都是一个名为Foo的类上的静态方法,您可以执行这样的操作。

Dim functionName as String = "listproducts"
Dim fooType As System.Type = GetType(Foo)
Dim Method As System.MethodInfo = fooType.GetMethod(functionName)
Method.Invoke(Nothing, Nothing)