2011-12-21 19 views
6

Visual Studio 2010 hata ayıklayıcısında Debug.Print bazı nesne türleri kullandığınızda, çıktı bir backtick içerir. Backtick ne anlama geliyor? Komut penceresi ayıklayıcısındaTür adında bir backtick, Visual Studio hata ayıklayıcıda ne anlama gelir?

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

Çıktı:

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

+0

Sadece tüm referansları tür isimlerine kaldırarak, başlığı çok daha belirsiz hale getirdiniz. Daha önce çok beğendim. – dlras2

+0

ne hakkında: "Visual Studio Debugger'da bir tür adında bir backtick gördüğünüzde anlamı nedir?" – bernie2436

+0

Bunu düşündüm, fakat bunun yerine sadece geri almamaya karar verdim (amaçlanan bir suç yok.) Sadece tip isimleri olduğundan emin olun - sorunun tam anlamı budur. – dlras2

cevap

3

Bu jenerik tip boyutunu gösteren oluyor (Bu durumda, dize) - örn bir listesi (String), dize ilk unsurdur (1 endeksli).

Bir SomeClass(Of T as String, U as Integer) oluşturmayı ve ne aldığınızı görmeyi deneyin.

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

İşte jenerikler için bir MSDN giriş makalesi: http://msdn.microsoft.com/en-us/library/w256ka79(v=vs.80).aspx – dlras2

+0

@ akh2103 Ben bir örnek ekledim t el VS var) – Basic

+0

Test edildi ve düzeltildi. – dlras2

3

Bu, CLR'deki jeneriklerin dize olarak temsil edilmesinin bir parçasıdır.

Backtick (`) sonrası sayı, türün aldığı genel tür bağımsız değişkenlerin sayısını gösterir. Köşeli parantez içindeki türler daha sonra bu genel tür argümanlarının nasıl bağlandığını gösterir.

İlgili konular