覆盖自定义列表的 ToString() class

Override ToString() for list of custom class

我有一个列表(包含 clsComponent)。

声明为

Private _FilesToDownload As List(Of clsComponent)

我知道如何为 class 覆盖 ToString(),但我不知道如何为 List(Of clsComponent) 覆盖 ToString()。

任何人都可以告诉我如何做到这一点吗?

谢谢。

你可以,但你需要继承列表(T)
,并在那里和之后重写 .toString 方法。
在这个示例输出中是

Norbert,Adam,Eva,

要串成一个字符串的所有元素列表

Sub TestThis()
    Dim Users As New AllUsers(Of User)
    Users.Add(New User With {.Name = "Norbert"})
    Users.Add(New User With {.Name = "Adam"})
    Users.Add(New User With {.Name = "Eva"})
    Debug.Print(Users.ToString)
End Sub

Public Class User
    Property Name As String
    Public Overrides Function ToString() As String
        Return Me.Name
    End Function
End Class
Public Class AllUsers(Of T)
    Inherits List(Of T)
    Public Overrides Function ToString() As String
        Dim Sb As New Text.StringBuilder
        For Each e In Me
            Sb.Append(e.ToString & ",")
        Next
        Return Sb.ToString
    End Function
End Class