如何:建立集合初始設定式所使用的 Add 擴充方法 (Visual Basic)

當您使用集合初始設定式來建立集合時,Visual Basic 編譯器會搜尋集合類型的 Add 方法,其中 Add 方法的參數符合集合初始設定式中的值類型。 這個 Add 方法可用來將集合初始設定式中的值填入集合。

如果沒有相符 Add 方法存在,而且您無法修改集合的程式碼,您可以新增名為 Add 的擴充方法,該方法會採用集合初始設定式所需的參數。 在針對泛型集合使用集合初始設定式時,通常需要執行上述動作。

範例

下列範例示範如何將擴充方法新增至泛型 List<T> 型別,以便使用集合初始設定式來新增 Employee 類型的物件。 擴充方法可讓您使用縮短的集合初始設定式語法。

Public Class Employee
    Public Property Id() As Integer
    Public Property Name() As String
End Class
Imports System.Runtime.CompilerServices

Module Module1

    <Extension()>
    Sub Add(ByVal list As List(Of Employee), ByVal id As Integer,
                                             ByVal name As String)
        list.Add(New Employee With {.Id = id, .Name = name})
    End Sub

End Module
Sub Main()
    Dim employees = New List(Of Employee) From {{1, "Adams, Ellen"},
                                                {2, "Hamilton, James R."},
                                                {3, "Ihrig, Ryan"}}
End Sub

另請參閱