Основы VB.NET Урок 30. Свойства только для чтения или только для записи
На уроке 4 мы смотрели, как можно добавлять в класс свойства. Добавляемые нами свойства были доступны и для чтения, и для записи (так обычно и бывает). Но иногда в класс надо добавить свойства только для чтения или (что бывает реже) только для записи. При добавлении таких свойств мы должны написать только один соответствующий блок между Property и End Property и добавить ключевое слово WriteOnly (для свойств только для записи) или ReadOnly (для свойства только для чтения). Вот пример:
Class Town
Private m_Name As String
Private m_SomeData As Int32
'Конструктор.
Public Sub New(ByVal Name As String)
m_Name = Name
End Sub
'Свойство только для чтения.
Public ReadOnly Property Name() As String
Get
Name = m_Name
End Get
End Property
'Свойство только для записи.
Public WriteOnly Property SomeProperty() As String
Set(ByVal Value As String)
m_SomeData = Value
End Set
End Property
End Class
Протестировать наш класс можно, например, так:
...
Sub main()
Dim q As New Town("Петербург")
'Свойство только для чтения.
q.SomeProperty = 2003
'Свойство только для записи.
Console.WriteLine(q.Name())
End Sub
...
Так как мы имеем свойство Name как свойство только для чтения, то, например, строка
q.Name = "Питер"
будет невозможна - ошибка возникнет еще на стадии компиляции.
|