VB.NET 2008中未确定的类型转换

时间:2010-05-11 18:29:31

标签: vb.net types

我认为这将是一个快速的谷歌,但广泛的搜索没有产生任何结果。关于类型转换的一切似乎都围绕这个概念跳舞。

我想得到变量“a”的类型,并创建一个名为“b”的新变量。否则,我可以将“a”作为已声明的类型,将“b”简单地作为对象,然后尝试将“b”转换为“a”类型。

Dim a As Integer  
Dim b As Whatever a Is  

OR

TryCast(b, Whatever a Is)

我还想使用类型的变量表示进行转换,但无法找到有关如何执行此操作的信息。

Sorta喜欢:

Dim a As Integer  
Dim b As Object  
Dim t As Type  

t = a.GetType()

TryCast(b, t)

意识到我在这里完全滥用了TryCast,我主要试图实现我的目标。我认为这很容易做到,但我真的找不到任何具体的信息。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

有人发布了正确答案,但随后将其删除,以便重新发布:

    Dim a As Integer
    Dim b = Activator.CreateInstance(a.GetType())
从IDE的角度来看,

b将是Object,因为反射在运行时发生。但是,如果您在GetType上致电b,您将获得System.Int32

我仍然很好奇你为什么要这么做。