Используйте общий List(Of T)
класс , специализированный для хранения ваших Client
объектов. Он уже предоставляет все нужные вам методы без необходимости написания одной строки кода!
Итак, сначала вы должны написать класс Client
, который содержит все свойства (данные) и методы (действия), относящиеся к «клиенту»:
Public Class Client
Public Property Name As String
Public Property AmountOwned As Decimal
Public Sub Bill()
BillingManager.BillClient(Me)
End Sub
' ... etc.
End Class
Затем вы создадите List(Of T)
для хранения всех ваших экземпляров класса Client
:
Dim clients As New System.Collections.Generic.List(Of Client)
Если по какой-либо причине вам необходимо специализировать поведение методов Add
, Remove
и т. Д., Предоставляемых классом коллекции, или добавить дополнительные методы, вам необходимо изменить стратегии немного. Вместо использования List(Of T)
вы наследуете от Collection(Of T)
и создаете собственный класс коллекции следующим образом:
Public Class ClientCollection
Inherits System.Collections.ObjectModel.Collection(Of T)
' ... customize as desired ...
End Class
Класс WinForms ListBox
делает это не совсем так, потому что он был написан до того, как дженерики были представлены в фреймворке. Но так как они сейчас здесь, и вы всегда должны использовать их, когда это возможно, вы можете полностью игнорировать то, как работает WinForms.