1

テキストボックスに名前を入力してボタンをクリックすることで関数を呼び出す方法を見つけようとしています。417個の関数があり、変数を取りません。

たとえば、テキストボックスに入力したい

listproducts

ボタンをクリックします

その後listproducts()、呼び出されます。

selectcaseまたはifステートメントを使用せずにそのようなことを行うことは可能ですか?または、関数に文字列名を割り当てて、その名前で呼び出すことは可能ですか?

4

1 に答える 1

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)
于 2013-02-24T06:56:46.030 に答える