在运行时调用方法 [英] Calling a method at runtime

查看:80
本文介绍了在运行时调用方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想基于字符串动态调用方法


例如


当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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆