2013-02-24 57 views
1

我試圖找到一種方法,通過在文本框中輸入名稱,然後點擊一個按鈕來調用一個函數使用字符串函數,我有417層的功能,他們不採取任何變量調用運行

例如,我想輸入一個文本框

listproducts 

,並點擊一個按鈕

然後listproducts()將被調用。

是否有可能在不使用select case或if語句的情況下執行此類操作? 還是有可能給一個函數指定一個字符串名稱並用該名稱來調用它?

+1

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2013-02-24 06:59:32

回答

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)