Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas tworzenia kolekcji za pomocą inicjatora kolekcji kompilator języka Visual Basic wyszukuje metodę Add typu kolekcji, dla której parametry metody Add są zgodne z typami wartości w inicjatorze kolekcji. Ta Add metoda służy do wypełniania kolekcji wartościami z inicjatora kolekcji.
Jeśli nie istnieje żadna zgodna Add metoda i nie można zmodyfikować kodu dla kolekcji, możesz dodać metodę rozszerzenia o nazwie Add , która przyjmuje parametry wymagane przez inicjator kolekcji. Zazwyczaj to robisz, gdy używasz inicjalizatorów kolekcji w przypadku kolekcji generycznych.
Przykład
W poniższym przykładzie pokazano, jak dodać metodę rozszerzenia do typu ogólnego List<T> , aby inicjator kolekcji mógł służyć do dodawania obiektów typu Employee. Metoda rozszerzenia umożliwia używanie skróconej składni inicjatora kolekcji.
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