Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du använder en insamlingsinitierare för att skapa en samling söker Visual Basic-kompilatorn efter en Add metod av samlingstypen som parametrarna för Add metoden matchar typerna av värden i insamlingsinitieraren för. Den här Add metoden används för att fylla samlingen med värdena från insamlingsinitieraren.
Om det inte finns någon matchande Add metod och du inte kan ändra koden för samlingen kan du lägga till en tilläggsmetod med namnet Add som tar de parametrar som krävs av insamlingsinitieraren. Detta är vanligtvis vad du behöver göra när du använder insamlingsinitierare för generiska samlingar.
Exempel
I följande exempel visas hur du lägger till en tilläggsmetod till den generiska List<T> typen så att en samlingsinitierare kan användas för att lägga till objekt av typen Employee. Med extensionsmetoden kan du använda den förkortade syntaxen för insamlingsinitialisering.
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