2011-12-21 30 views
6

Khi bạn Debug.Print một số loại đối tượng trong trình gỡ rối Visual Studio 2010, đầu ra bao gồm một dấu kiểm ngược. Backtick có nghĩa là gì?Dấu backtick trong tên loại có nghĩa là gì trong trình gỡ rối Visual Studio?

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

Output trong Immediate Window debugger:

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

+0

Bạn vừa xóa tất cả các tham chiếu đến nhập tên, làm cho tiêu đề trở nên mơ hồ hơn nhiều. Tôi thích nó tốt hơn trước. – dlras2

+0

Làm thế nào về: "Điều gì có nghĩa là khi bạn nhìn thấy một backtick trong một tên loại trong Visual Studio Debugger?" – bernie2436

+0

Tôi nghĩ về điều đó, nhưng quyết định chỉ quay lại thay vì (không có ý định phạm tội.) Chỉ cần đảm bảo đề cập đến tên kiểu — đó là toàn bộ vấn đề. – dlras2

Trả lời

3

Nó cho thấy kích thước của các loại generic (trong trường hợp này, string) - ví dụ như một danh sách (Tất String), chuỗi là yếu tố đầu tiên (1 chỉ mục).

Hãy thử tạo một SomeClass(Of T as String, U as Integer) và xem những gì bạn nhận được.

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

Đây là một bài viết giới thiệu MSDN về generics: http://msdn.microsoft.com/en-us/library/w256ka79(v=vs.80).aspx – dlras2

+0

@ akh2103 Tôi đã thêm một ví dụ (chưa được kiểm tra như tôi don ' t có VS để tay) – Basic

+0

Đã kiểm tra và chỉnh sửa. – dlras2

3

Đó là một phần của biểu diễn chuỗi các generics trong CLR.

Số sau khi backtick (`) cho biết số đối số kiểu chung mà loại đó có. Các loại trong dấu ngoặc vuông sau đó cho biết cách các đối số kiểu chung đó bị ràng buộc.

Các vấn đề liên quan