关键词搜索

源码搜索 ×
×

如何:创建集合初始值设定项所使用的集合 (Visual Basic)

发布2021-08-22浏览350次

详情内容

使用集合初始值设定项创建集合时,Visual Basic 编译器会搜索该集合类型的 Add 方法,所搜索的 Add 方法的参数要与用于该集vb.net教程合的集合初始值设定项中的值类型相匹配。 此 Add 方法用于以集合初始值设定项中的值填充集合。

示例

下面的示例演示 OrderCollection 集合,该集合包含一个公共 Add 方法,集合初始值设定项可使用该方法添加 Order 类型的对象。 Add 方法允许使vb.net教程用集合初始值设定项的缩写语法。

VB复制

  1. Public Class Customer
  2. Public Property Id As Integer
  3. Public Property Name As String
  4. Public Property Orders As OrderCollection
  5. Public Sub New(ByVal id As Integer, ByVal name As String, ByVal orders As OrderCollection)
  6. Me.Id = id
  7. Me.Name = name
  8. Me.Orders = orders
  9. End Sub
  10. End Class
  11. Public Class Order
  12. Public Property Id As Integer
  13. Public Property CustomerId As Integer
  14. Public Property OrderDate As DateTime
  15. Public Sub New(ByVal id As Integer,
  16. ByVal customerId As Integer,
  17. ByVal orderDate As DateTime)
  18. Me.Id = id
  19. Me.CustomerId = customerId
  20. Me.OrderDate = orderDate
  21. End Sub
  22. End Class

VB复制

  1. Public Class OrderCollection
  2. Implements IEnumerable(Of Order)
  3. Dim items As New List(Of Order)
  4. Public Property Item(ByVal index As Integer) As Order
  5. Get
  6. Return CType(Me(index), Order)
  7. End Get
  8. Set(ByVal value As Order)
  9. items(index) = value
  10. End Set
  11. End Property
  12. Public Sub Add(ByVal id As Integer, ByVal customerID As Integer, ByVal orderDate As DateTime)
  13. items.Add(New Order(id, customerID, orderDate))
  14. End Sub
  15. Public Function GetEnumerator() As IEnumerator(Of Order) Implements IEnumerable(Of Order).GetEnumerator
  16. Return items.GetEnumerator()
  17. End Function
  18. Public Function GetEnumerator1() As IEnumerator Implements IEnumerable.GetEnumerator
  19. Return Me.GetEnumerator()
  20. End Function
  21. End Class

VB复制

  1. Imports System.Runtime.CompilerServices
  2. Module Module1
  3. <Extension()>
  4. Sub Add(ByVal genericList As List(Of Customer),
  5. ByVal id As Integer,
  6. ByVal name As String,
  7. ByVal orders As OrderCollection)
  8. genericList.Add(New Customer(id, name, orders))
  9. End Sub
  10. End Module

VB复制

  1. Dim customerList = New List(Of Customer) From
  2. {
  3. {1, "John Rodman", New OrderCollection From {{9, 1, #6/12/2008#},
  4. {8, 1, #6/11/2008#},
  5. {5, 1, #5/1/2008#}}},
  6. {2, "Ariane Berthier", New OrderCollection From {{2, 2, #1/18/2008#},
  7. {4, 2, #3/8/2008#},
  8. {6, 2, #3/18/2008#},
  9. {7, 2, #5/14/2008#},
  10. {5, 2, #4/4/2008#}}},
  11. {3, "Brian Perry", New OrderCollection From {{1, 3, #1/15/2008#},
  12. {3, 3, #3/8/2008#}}}
  13. }

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载