gpt4 book ai didi

.net - 如何在 .NET 中定义集合,以便您可以按值或名称引用项目

转载 作者:行者123 更新时间:2023-12-04 22:36:27 25 4
gpt4 key购买 nike

我经常定义一个类,我还定义另一个类,它只是另一个类的集合。为此,我发现将另一个类定义为 Inherits List(Of Type) 是最简单的。我定义集合类的原因是为集合添加额外的功能。以下面的代码为例。

Class Car
Property Name As String
Property Year As Short
Property Model As String
End Class

Class CarCollection
Inherits List(Of Car)

Overloads Sub Add(ByVal Name As String, ByVal Year As Short, ByVal Model As String)
Dim c As New Car

c.Name = Name
c.Year = Year
c.Model = Model

Add(c)
End Sub
End Class

现在,如果我声明一个 CarCollection 变量,我如何通过名称或索引值引用 Car,就像 .NET 执行集合的方式一样。以 .NET ToolStripItemCollection 为例。您可以通过以下两种方式之一引用其中的项目:
我的收藏(2)
MyCollection("MyItemName")

我的问题当然是如何定义自己的集合,以便我可以通过索引或名称来引用它。现在我只能通过索引引用它。

最佳答案

您可以使用 KeyedCollection :

Imports System.Collections.ObjectModel

Public Class CarCollection
Inherits KeyedCollection(Of String, Car)

Protected Overrides Function GetKeyForItem(ByVal item As Car) As String
Return item.Name
End Function
End Class

关于.net - 如何在 .NET 中定义集合,以便您可以按值或名称引用项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com