Dela via


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

Se även