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

时间:2013-02-24 06:29:48

标签: c# .net vb.net

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

例如我想输入一个文本框

listproducts

然后点击按钮

然后listproducts()将被调用。

是否可以在不使用select case或if语句的情况下执行此类操作? 或者是否可以为函数指定字符串名称并使用该名称调用它?

1 个答案:

答案 0 :(得分:4)

你需要使用反射。假设您要调用的函数是名为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)