Gör så här: Skapa en lägg till tilläggsmetod som används av en insamlingsinitierare (Visual Basic)
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 tilläggsmetoden kan du använda syntaxen för den förkortade insamlingsinitieringssyntaxen.
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