1
我試圖找到一種方法,通過在文本框中輸入名稱,然後點擊一個按鈕來調用一個函數使用字符串函數,我有417層的功能,他們不採取任何變量調用運行
例如,我想輸入一個文本框
listproducts
,並點擊一個按鈕
然後listproducts()
將被調用。
是否有可能在不使用select case或if語句的情況下執行此類操作? 還是有可能給一個函數指定一個字符串名稱並用該名稱來調用它?
我試圖找到一種方法,通過在文本框中輸入名稱,然後點擊一個按鈕來調用一個函數使用字符串函數,我有417層的功能,他們不採取任何變量調用運行
例如,我想輸入一個文本框
listproducts
,並點擊一個按鈕
然後listproducts()
將被調用。
是否有可能在不使用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)
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2013-02-24 06:59:32