如何:创建集合初始值设定项所使用的 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
请参见
任务
如何:创建集合初始值设定项所使用的集合 (Visual Basic)