2011-12-21 13 views
6

Cuando Debug.Print algunos tipos de objeto en el depurador de Visual Studio 2010, la salida incluye un backtick. ¿Qué significa el revés?¿Qué significa un backtick en un nombre de tipo en el depurador de Visual Studio?

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

salida en ventana Inmediato depurador:

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

+0

Acaba de eliminar toda referencia a nombres de tipos, lo que hace que el título sea mucho más ambiguo. Me gustó más antes. – dlras2

+0

¿Qué tal si: "¿Qué significa cuando ves un backtick en un nombre de tipo en el Visual Studio Debugger?" – bernie2436

+0

Pensé en eso, pero decidí simplemente retrotraerlo (sin intención de ofender). Solo asegúrese de mencionar los nombres: ese es el objetivo de la pregunta. – dlras2

Respuesta

3

Es lo que indica la dimensión del tipo genérico (en este caso, string) - por ejemplo, una lista (de cadena), la cadena es el primer elemento (1-indexado).

Intente crear un SomeClass(Of T as String, U as Integer) y vea lo que obtiene.

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

Aquí hay un artículo de introducción de MSDN para genéricos: http://msdn.microsoft.com/en-us/library/w256ka79(v=vs.80).aspx – dlras2

+0

@ akh2103 He agregado un ejemplo (no probado como no lo hago) t tiene VS a la mano) – Basic

+0

Probado y ajustado. – dlras2

3

Eso es parte de la representación de cadena de genéricos en el CLR.

El número después del backtick (`) indica el número de argumentos de tipo genérico que toma el tipo. Los tipos entre corchetes indican cómo se han vinculado esos argumentos de tipo genérico.

Cuestiones relacionadas