ber*_*436 6 vb.net generics visual-studio
当您Debug.Print在Visual Studio 2010调试器中使用某些对象类型时,输出包括反引号.反引号是什么意思?
Dim myList as List = a List
Debug.Print(myList.GetType().ToString()
Run Code Online (Sandbox Code Playgroud)
立即窗口调试器中的输出:
System.Collections.Generic.List`1[System.String]
它表示后续数组中的项目数。该数组包含泛型类型。
List(Of String)有一种泛型类型,即string。
尝试创建一个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())
End Sub
End Class
Sub Main()
Dim MyTestGeneric As New TestGeneric(Of String, Integer)
MyTestGeneric.TellType("Test", 3)
Console.ReadKey(True)
End Sub
Run Code Online (Sandbox Code Playgroud)
输出:
SO8593626.Program+TestGeneric`2[System.String,System.Int32]
Run Code Online (Sandbox Code Playgroud)
两种类型:字符串、整数
由于结构的原因,它能够以树状方式表示嵌套的泛型类型......
Dim MyTestGeneric As New TestGeneric(Of String, Integer)
Dim MyOtherGeneric As New TestGeneric(Of TestGeneric(Of String, Integer), Integer)
MyOtherGeneric.TellType(MyTestGeneric, 3)
Run Code Online (Sandbox Code Playgroud)
产出
SO8593626.Program+TestGeneric`2[SO8593626.Program+TestGeneric`2[System.String,System.Int32],System.Int32]
Run Code Online (Sandbox Code Playgroud)
两种根类型,其中一种是通用的:[String, Int], Int
| 归档时间: |
|
| 查看次数: |
898 次 |
| 最近记录: |