在运行时调用方法 [英] Calling a method at runtime
本文介绍了在运行时调用方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想基于字符串动态调用方法
例如
当s =" A"然后方法A将被调用。我不是不想使用一堆如果的话。声明。
类似于:
someMethod = AddressOf s's = A
someMethod(SomeSortOfString)
Sub A(ByRef SomeString As String)
...
End Sub
Sub B(ByRef SomeString As String)
...
End Sub
这可能吗?
I want to call a method dynamically based on a string
For example
When s = "A" Then method A would get called. I don''t wan''t to use a
bunch of "If" statements.
Something like:
someMethod = AddressOf s ''s = A
someMethod(SomeSortOfString)
Sub A(ByRef SomeString As String)
...
End Sub
Sub B(ByRef SomeString As String)
...
End Sub
Is this possible?
推荐答案
简答:否
使用if或select语句:P
>
Rico Rivera写道:
Short Answer: No
Use the if or select statements :P
Rico Rivera wrote:
我想基于字符串动态调用方法
例如
当s =A时然后方法A将被调用。我不是不想使用一堆如果的话。声明。
类似于:
someMethod = AddressOf s's = A
someMethod(SomeSortOfString)
Sub A(ByRef SomeString As String)
...
End Sub
Sub B(ByRef SomeString As String)
...
End Sub
这可能吗?
I want to call a method dynamically based on a string
For example
When s = "A" Then method A would get called. I don''t wan''t to use a
bunch of "If" statements.
Something like:
someMethod = AddressOf s ''s = A
someMethod(SomeSortOfString)
Sub A(ByRef SomeString As String)
...
End Sub
Sub B(ByRef SomeString As String)
...
End Sub
Is this possible?
Rico
当然
案例选择myMethode
案例A
A
案例B
B
结束选择
Sub A(ByRef SomeString As String)
...
End Sub
Sub B(ByRef SomeString As String)
....
End Sub
我希望这有帮助吗?
Cor
Rico
Of Course
Case select myMethode
Case "A"
A
Case "B"
B
End Select
Sub A(ByRef SomeString As String)
...
End Sub
Sub B(ByRef SomeString As String)
....
End Sub
I hope this helps?
Cor
假设方法的签名是相同的,你可以使用
委托这样做...
Dim someMethodDelegate(SomeSortOfString As String)作为[代表]
someMethodDelegate = AddressOf A
someMethodDelegate(SomeSortOfString)
....
Sub A( SomeString As String)
....
End Sub
Sub B(SomeString As String)
....
End Sub
HTH
David Williams [VB.NET MVP]
" Rico Rivera" < QR ******** @ spamhole.com>在消息中写道
news:40 **************** @ news.verizon.net:
Assuming that the signatures of the methods are the same, you can use a
delegate to do so...
Dim someMethodDelegate(SomeSortOfString As String) As [Delegate]
someMethodDelegate = AddressOf A
someMethodDelegate(SomeSortOfString)
....
Sub A(SomeString As String)
....
End Sub
Sub B(SomeString As String)
....
End Sub
HTH
David Williams [VB.NET MVP]
"Rico Rivera" <qR********@spamhole.com> wrote in message
news:40****************@news.verizon.net:
我想打电话给方法动态地基于一个字符串
例如
当s =" A"然后方法A将被调用。我不是不想使用一堆如果的话。声明。
类似于:
someMethod = AddressOf s's = A
someMethod(SomeSortOfString)
Sub A(ByRef SomeString As String)
...
End Sub
Sub B(ByRef SomeString As String)
...
End Sub
这可能吗?
I want to call a method dynamically based on a string
For example
When s = "A" Then method A would get called. I don''t wan''t to use a
bunch of "If" statements.
Something like:
someMethod = AddressOf s ''s = A
someMethod(SomeSortOfString)
Sub A(ByRef SomeString As String)
...
End Sub
Sub B(ByRef SomeString As String)
...
End Sub
Is this possible?
这篇关于在运行时调用方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文