如何:创建集合初始值设定项所使用的 Add 扩展方法 (Visual Basic)
使用集合初始值设定项创建集合时,Visual Basic 编译器会搜索集合类型的一个 Add
方法,该方法的 Add
方法的参数与集合初始值设定项中的值的类型相匹配。 此 Add
方法用于在集合中填充集合初始值设定项中的值。
如果不存在匹配的 Add
的方法,并且无法修改集合的代码,则可以添加一个名为 Add
的扩展方法,该方法采用集合初始值设定项所需的参数。 这通常是使用泛型集合的集合初始值设定项时需要执行的操作。
示例
下面的示例演示如何将扩展方法添加到泛型 List<T> 类型,以便可以使用集合初始值设定项来添加类型 Employee
的对象。 借助扩展方法,你可以使用简短的集合初始值设定项语法。
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