當您使用集合初始化表達式來建立集合時,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