Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Cómo: Crear un método de extensión Add usado por un inicializador de colección (Visual Basic)

Al usar un inicializador de colección para crear una colección, el compilador de Visual Basic busca un método Add del tipo de colección en el que los parámetros del método Add coinciden con los tipos de valores del inicializador de colección. Este método Add se usa para rellenar la colección con los valores del inicializador de colección.

Si no existe ningún método Add coincidente y no puede modificar el código de la colección, puede agregar un método de extensión denominado Add que toma los parámetros requeridos por el inicializador de colección. Esta es la operación que debe realizar normalmente al usar inicializadores de colección para las colecciones genéricas.

En el ejemplo siguiente se muestra cómo agregar un método de extensión al tipo List<T> genérico a fin de poder usar un inicializador de colección para agregar objetos del tipo Employee. El método de extensión permite usar la sintaxis del inicializador de colección abreviada.


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


Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft