プロシージャ名を作成するには?

解決


shun  2006-02-13 19:59:06  No: 94166

.net初心者なので、可能なのか不可能なのかわかりませんが、Call するプロシージャ名を作成したいのです。
現状は以下のように書いてるのですが、if文を何行も書いて判定するのではなく call [pname & i] のように1行で書いてしまいたいのですが・・・

Private Sub Main(Byval As i As Integer)
   if i = 1 then call [pname1]
             :
   if i = 20 then call [pname20]
End Sub

Private Sub [pname1]
End Sub
            :
Private Sub [pname20]
End Sub


・・・  2006-02-13 20:07:05  No: 94167

.netが初心者というか、プログラムの初心者の方ですか?
プロシージャに引数でiを渡してあげてください。
引数が何か分からなければ、それは調べましょう。


shun  2006-02-13 22:23:49  No: 94168

私の例の出し方が悪かったようで、せっかくご回答くださったのに質問の意味合いが伝わらなかったようです。お手数かけて申し訳ありませんでした。
もう少し調べて出直します。


もげ  2006-02-13 23:41:12  No: 94169

おそらくCallByNameのようなことをおっしゃっているのかと推測。

メソッドやプロパティを名前で呼び出す
http://homepage1.nifty.com/rucio/main/dotnet/Samples/Sample047CallByName.htm


shun  2006-02-14 04:51:14  No: 94170

もげさんのおっしゃるとおりです。
有難うございました。


shun  2006-02-14 17:21:46  No: 94171

CallByName関数を使用して上手くいきました。
有難うございました。

Private Sub Main(Byval As i As Integer)
    Dim pname As String
    pname = "pname" & i
    CallByName(Me,pname CallType.Method)
End Sub

Public Sub [pname1]
End Sub
            :
Public Sub [pname20]
End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加