2011-12-21 29 views
6

当您在 Visual Studio 2010调试器中的某些对象类型时,输出包括反引号。反拨意味着什么?在Visual Studio调试器中,类型名称中的反引号是什么意思?

Dim myList as List = a List 
Debug.Print(myList.GetType().ToString() 

输出在立即窗口调试器:

System.Collections.Generic.List`1[System.String]

+0

您刚刚删除了对类型名称的所有引用,使标题更加模糊。之前我更喜欢它。 – dlras2 2011-12-21 18:19:52

+0

怎么样:“当你在Visual Studio调试器中的类型名称中看到反引号时,这意味着什么?” – bernie2436 2011-12-21 19:14:30

+0

我曾考虑过这个问题,但决定只是把它推回来(没有任何意图。)只要确保提及类型名称 - 这就是问题的关键。 – dlras2 2011-12-21 19:17:03

回答

3

它指示所述类型的尺寸(在这种情况下,字符串) - 如列表(串),该字符串是第一要素(1索引)。

尝试创建一个SomeClass(Of T as String, U as Integer),看看你得到了什么。

Public Class TestGeneric(Of T, U) 
    Public Sub TellType(ByVal Something As T, ByVal SomethingElse As U) 
     Console.WriteLine(Me.GetType()) 
     Console.WriteLine(Something.GetType()) 
     Console.WriteLine(SomethingElse.GetType()) 
    End Sub 
End Class 

Sub Main() 
    Dim MyTestGeneric As New TestGeneric(Of String, Integer) 
    MyTestGeneric.TellType("Test", 3) 
    Console.ReadKey(True) 
End Sub 
+1

这里是泛型的MSDN介绍文章:http://msdn.microsoft.com/en-us/library/w256ka79(v=vs.80).aspx – dlras2 2011-12-21 17:25:38

+0

@ akh2103我已经添加了一个例子(未经测试,因为我不'没有VS交易) – Basic 2011-12-21 17:31:52

+0

经过测试和调整。 – dlras2 2011-12-21 17:53:57

3

这是CLR中泛型字符串表示的一部分。

反引号(`)后面的数字表示该类型所采用的泛型类型参数的数量。方括号中的类型表明这些泛型类型参数是如何绑定的。

相关问题