當您在 Visual Studio 2010調試器中的某些對象類型時,輸出包括反引號。反撥意味着什麼?在Visual Studio調試器中,類型名稱中的反引號是什麼意思?
Dim myList as List = a List
Debug.Print(myList.GetType().ToString()
輸出在立即窗口調試器:
System.Collections.Generic.List`1[System.String]
當您在 Visual Studio 2010調試器中的某些對象類型時,輸出包括反引號。反撥意味着什麼?在Visual Studio調試器中,類型名稱中的反引號是什麼意思?
Dim myList as List = a List
Debug.Print(myList.GetType().ToString()
輸出在立即窗口調試器:
System.Collections.Generic.List`1[System.String]
它指示所述類型的尺寸(在這種情況下,字符串) - 如列表(串),該字符串是第一要素(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
這是CLR中泛型字符串表示的一部分。
反引號(`)後面的數字表示該類型所採用的泛型類型參數的數量。方括號中的類型表明這些泛型類型參數是如何綁定的。
您剛剛刪除了對類型名稱的所有引用,使標題更加模糊。之前我更喜歡它。 – dlras2 2011-12-21 18:19:52
怎麼樣:「當你在Visual Studio調試器中的類型名稱中看到反引號時,這意味着什麼?」 – bernie2436 2011-12-21 19:14:30
我曾考慮過這個問題,但決定只是把它推回來(沒有任何意圖。)只要確保提及類型名稱 - 這就是問題的關鍵。 – dlras2 2011-12-21 19:17:03