Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Lorsque vous utilisez un initialiseur de collection pour créer une collection, le compilateur Visual Basic recherche une Add méthode du type de collection pour laquelle les paramètres de la Add méthode correspondent aux types des valeurs dans l’initialiseur de collection. Cette Add méthode est utilisée pour remplir la collection avec les valeurs de l’initialiseur de collection.
Si aucune méthode correspondante Add 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 accepte les paramètres requis par l’initialiseur de collection. Il s’agit généralement de ce que vous devez faire lorsque vous utilisez des initialiseurs de collection pour les collections génériques.
Exemple :
L’exemple suivant montre comment ajouter une méthode d’extension au type générique List<T> 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 d’initialiseur de collection raccourcie.
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