Condividi tramite


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)