Je définis souvent une classe et je définis également une autre classe qui est simplement une collection de l'autre classe. Pour ce faire, j'ai trouvé qu'il était plus facile de définir l'autre classe comme Inherits List(Of Type). La raison pour laquelle je définis une classe de collection est d'ajouter des fonctionnalités supplémentaires à la collection. Prenez par exemple le code suivant.
Class Car
Property Name As String
Property Year As Short
Property Model As String
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
Si je déclare maintenant une variable CarCollection, comment puis-je faire référence à la Car soit par son nom, soit par la valeur de l'index, de la même manière que le fait .NET avec les collections. Prenons par exemple ToolStripItemCollection de .NET. Vous pouvez faire référence aux éléments qu'il contient de l'une de ces deux manières : MyCollection(2) MyCollection("MyItemName")
Ma question bien sûr est de savoir comment je peux définir ma propre collection pour pouvoir y faire référence par index ou nom de cette façon. Pour le moment, je ne peux y faire référence que par index.