Основы VB.NET Урок 29. Возвращение к классам: индексируемые свойства
Свойства у класса могут зависеть от некоторого целочисленного параметра (индекса). Вот пример:
Imports System
Class TownList
Private Town(4) As String
' Индексируемое свойство
Public Property Towns(ByVal index As Int32) As String
Get
Towns = Town(index)
End Get
Set(ByVal Value As String)
Town(index) = Value
End Set
End Property
End Class
Module Test
Sub main()
Dim t As New TownList()
t.Towns(0) = "Paris"
t.Towns(1) = "Roma"
t.Towns(2) = "London"
t.Towns(3) = "New York"
Dim i As Int32
For i = 0 To 4
Console.WriteLine(t.Towns(i))
Next
End Sub
End Module
Как вы видите, тут мы завели свойство Towns класса TownList как индексируемое (после его имени мы в круглых скобках вставили индекс Index):
...
Public Property Towns(ByVal index As Int32) As String
...
Для хранения такого свойства мы в классе определили массив Town:
Private Town(4) As String
Для доступа к такому свойству мы используем индекс:
...
t.Towns(0) = "Paris"
...
В остальном индексируемые свойства не отличаются от обычных.
|