我在VB中选择如何调用一个函数动态
Dim ver =101
Select Case ver
Case 101
upd101()
Case 102
upd102()
Case 103
upd103()
End Select
我怎样才能让这个选择更好的通过这种形式调用函数更动态: 前缀为“UPD”,后跟一个版本整数..?
谢谢! Adrian
我在VB中选择如何调用一个函数动态
Dim ver =101
Select Case ver
Case 101
upd101()
Case 102
upd102()
Case 103
upd103()
End Select
我怎样才能让这个选择更好的通过这种形式调用函数更动态: 前缀为“UPD”,后跟一个版本整数..?
谢谢! Adrian
它可能,但它不干净,或更快。
Dim t As Type = base.GetType()
t.GetMethod("upd" + theInt)
难道你不能只调用upd(param)?
我的意思是,而不是创建许多功能,创建一个和使用变量。 ;]
现在来吧,这将是愚蠢的。 – ChaosPandion 2010-09-09 18:09:37
我不明白你的意思,你能再多说一点吗? – 2010-09-09 18:11:13
对不起,如果英语不是你的第一语言,你可能不会读到讽刺。 – ChaosPandion 2010-09-09 18:12:11
Dim ver as Integer
dim procToCall as String
ver = 101
procToCall = "upd" & ver
CallByName myclassInstace, procToCall, vbMethod
编辑:这里myClassInstance
是你创建的类的实例。
即让我们假设你有一个名为Person
的类,它有一个名为ToString
的方法。
代码看起来像
dim somePerson as new Person
CallByName somePerson, "ToString", vbMethod
然而,应避免使用这种编程风格。
您有多少种这种方法可以调用此表单中的方法?
这需要VB.NET,所以它可能不适合他们。 – ChaosPandion 2010-09-09 18:13:16
什么是obj? Dim obj As New Object – Adrian 2010-09-09 18:29:35
这有帮助吗?是所有方法都在其中定义的类的类型。 – Nix 2010-09-09 18:39:57