当您在Visual Studio 2010调试器中Debug.Print
某些对象类型时,输出包含反引号。反引号是什么意思?
Dim myList as List = a List
Debug.Print(myList.GetType().ToString()
立即窗口调试器中的输出:
System.Collections.Generic.List`1[System.String]
答案 0 :(得分:3)
它表示泛型类型的维度(在本例中为字符串) - 例如List(Of String),字符串是第一个元素(1-indexed)。
尝试创建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 :(得分:3)
这是CLR中泛型字符串表示的一部分。
反引号(`)后面的数字表示该类型采用的泛型类型参数的数量。方括号中的类型表示这些泛型类型参数是如何绑定的。