这是不可能的,因为
GetData()
在分配之前进行评估。您可以做的是一种通用方法:
dim a as MyObject = GetData(of MyObject)()
Function GetData(Of T)()
Dim _t As Type = GetType(T)
DotheWork(_t)
End Function
我就是这样做的。
请注意
a.GetType
因为a是Nothing,并且函数没有返回任何结果
a
之后将不分配任何内容
获取数据()
也
也许你想实现这样的目标:
Function GetData(Of T As { IMyType, New })()
Dim instance As T = Activator.CreateInstance(Of T)()
DotheWork(instance)
Return instance
End Function
Function DotheWork(instance As IMyType)
instance.Init()
End Function
Interface IMyType
Sub Init()
End Interface