将字符串值转换为类型Of T

时间:2017-09-21 21:38:00

标签: vb.net

我有这样的功能:

Public Shared Function ResolveService(Of T As Class)() As T
            Return Container.Resolve(Of T)
End Function

Normall传递物体的方式就像:

Dim protocol = FactoryConnections.ResolveService(of Iftp)  /or Isftp...

但是我作为字符串的值例如Iftp在字符串中。如何在(Of ...)的地方加以说明?

到目前为止尝试使用GetType / typeOf,但似乎没有人工作:

Dim stringvalue as Type = Type.GetType("Iftp")
Dim protocol = FactoryConnections.ResolveService(Of stringvalue)

注意我正在调用那个函数来自工厂类的外部... 我似乎无法转到(Of <here>)

1 个答案:

答案 0 :(得分:0)

您走在正确的轨道上,但要获得Generic T的名称,您可以使用

  

dim stringvalue = GetType(T).Name

  

dim stringvalue = GetType(T).FullName

如果你也想要名称空间。