Procedura: creare un metodo di estensione Add utilizzato da un inizializzatore di insieme (Visual Basic)
Quando si utilizza un inizializzatore di insieme per creare un insieme, il compilatore Visual Basic cerca un metodo Add del tipo di insieme per il quale i parametri per il metodo Add corrispondono ai tipi dei valori nell'inizializzatore di insieme. Questo metodo Add viene utilizzato per popolare l'insieme con i valori dell'inizializzatore di insieme.
Se non esiste alcun metodo Add corrispondente e non è possibile modificare il codice per l'insieme, è possibile aggiungere un metodo di estensione chiamato Add che accetta i parametri richiesti dall'inizializzatore di insieme. Questa operazione è in genere necessaria quando si utilizzano gli inizializzatori di insieme per gli insiemi generici.
Esempio
Nell'esempio seguente viene illustrato come aggiungere un metodo di estensione al tipo generico List<T> in modo che sia possibile utilizzare un inizializzatore di insieme per aggiungere oggetti di tipo Employee. Il metodo di estensione consente di utilizzare la sintassi abbreviata dell'inizializzatore di insieme.
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
Vedere anche
Attività
Procedura: creare un insieme utilizzato da un inizializzatore di insieme (Visual Basic)
Concetti
Cenni preliminari sugli inizializzatori di insieme (Visual Basic)