我有一些代码,例如:
Lookup(Of String)("Testing")
Lookup(Of Integer)("Testing")
这两个查找都非常有效。我试图根据另一个变量的类型调用适当的 LookUp。看起来像...
Lookup(Of GetType(MyStringVariable))("Testing")
我尝试用 Google 搜索此内容,但很难找到合适的搜索结果。谁能告诉我如何做我想做的事?
最佳答案
您没有指定您所调用的方法的完整签名,但我的通灵能力告诉我它是这样的:
Function Lookup(Of T)(key As String) As T
并且您希望避免重复 Integer
两次,如下例所示:
Dim x As Integer
x = Lookup(Of Integer)("foo");
问题是类型参数仅在参数上下文中使用时才会被推导,而在返回值上下文中则不会被推导。因此,您需要一个带有 ByRef
参数的辅助函数来完成此任务:
Sub Lookup(Of T)(key As String, ByRef result As T)
T = Lookup(Of T)(key)
End Sub
这样,你就可以写:
Dim x As Integer
Lookup("foo", x);
关于vb.net - 如何创建 'OF' 变量类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1441063/