Partager via


Comment : créer une méthode d'extension Add utilisée par un initialiseur de collection (Visual Basic)

Lorsque vous utilisez un initialiseur de collection pour créer une collection, le compilateur de Visual Basic recherche une méthode Add du type de collection pour lequel les paramètres de la méthode Add correspondent aux types des valeurs dans l'initialiseur de collection.Cette méthode Add est utilisée pour remplir la collection avec les valeurs de l'initialiseur de collection.

Si aucune méthode Add correspondante n'existe et que vous ne pouvez pas modifier le code de la collection, vous pouvez ajouter une méthode d'extension appelée Add qui prend les paramètres requis par l'initialiseur de collection.Il s'agit de la technique généralement employée lorsque vous utilisez des initialiseurs de collection pour des collections génériques.

Exemple

L'exemple suivant indique comment ajouter une méthode d'extension au type List<T> générique afin qu'un initialiseur de collection puisse être utilisé pour ajouter des objets de type Employee.La méthode d'extension vous permet d'utiliser la syntaxe raccourcie de l'initialiseur de collection.

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

Voir aussi

Tâches

Comment : créer une collection utilisée par un initialiseur de collection (Visual Basic)

Concepts

Initialiseurs de collections (Visual Basic)