• ベストアンサー
  • すぐに回答を!

VisualBasic2010 関数の呼び出し

  • 質問No.9516008
  • 閲覧数140
  • ありがとう数0
  • 回答数4

お礼率 4% (7/143)

VisualBasic2010を利用してシステム開発を行っているのですが、
特定の条件に従いFUNCTIONを呼び出したいと考えております。

呼び出すFUNCTIONが多数存在するため、FUNCTION名を変数で
保持しておき、呼出し時にその変数を利用して呼び出せないかと
思案しております。

 ★呼出し側
Dim wk as integer
  wk = TEST_A()
  wk = TEST_B()
 ※上記の「TEST_A()」「TEST_B()」を変数を利用して
  wk = HENSU()のように呼び出せないかと考えております。

Private Function TEST_A() As Integer
Return 0
End Function

Private Function TEST_B() As Integer
Return 1
End Function

分る方がいらっしゃいましたらご教授頂けますと幸いです。

質問者が選んだベストアンサー

  • 回答No.4
  • ベストアンサー

ベストアンサー率 56% (737/1309)

Visual Basic カテゴリマスター
こちらが参考になると思います。

Calling a Property or Method Using a String Name (Visual Basic)文字列名によるプロパティまたはメソッドの呼び出し (Visual Basic)
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/early-late-binding/calling-a-property-or-method-using-a-string-name

その他の回答 (全3件)

  • 回答No.3

ベストアンサー率 14% (296/2072)

オブジェクト指向言語の基本的な手法ですが、インターフェースでメソッドを定義して、そのインターフェースを継承したクラスを作り、それらのクラスにインスタンスを配列に入れれば可能です。

ただ、この関数の配列化って昔からあって、C言語では関数ポインタなんて方法で実装されてました。これって必要以上に読み辛いコードになってしまうのでデバッグやメンテナンス性が非常に悪くなり、開発規約で禁止されることもありました。
  • 回答No.1

ベストアンサー率 36% (210/572)

visual basicに限りませんが、そういう機能は無いと思います。私が知らないだけかもしれませんが。ただ、やりようはいくつかあります。
> 特定の条件に従い
とあるので、場合分けするのですよね。だったら、select case文で場合分けしているところでfunctionをコールすれば良いのでは。
もしくはfunctionに引数で渡し、その引数の値に応じた処理をさせるとか。個人的には後者の方が前者よりも好みです。
関連するQ&A

ピックアップ

ページ先頭へ