Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si utilizza un inizializzatore di raccolta per creare una raccolta, il compilatore di Visual Basic cerca un Add metodo del tipo di raccolta per il quale i parametri per il Add metodo corrispondono ai tipi dei valori nell'inizializzatore di raccolta. Questo Add metodo viene utilizzato per popolare la raccolta con i valori dell'inizializzatore di raccolta.
Se non esiste alcun metodo corrispondente Add e non è possibile modificare il codice per la raccolta, è possibile aggiungere un metodo di estensione denominato Add che accetta i parametri richiesti dall'inizializzatore della raccolta. Questa operazione è in genere necessaria quando si usano gli inizializzatori di raccolta per le raccolte generiche.
Esempio
Nell'esempio seguente viene illustrato come aggiungere un metodo di estensione al tipo generico List<T> in modo che un inizializzatore di raccolta possa essere usato per aggiungere oggetti di tipo Employee. Il metodo di estensione consente di usare la sintassi dell'inizializzatore di raccolta abbreviata.
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