progs.biz  
Начало>VB.NET>Основы>Урок 30
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Джон Коннелл. Разработка элементов управления Microsoft .NET на Microsoft Visual Basic .NET
Джон Коннелл. Разработка элементов управления Microsoft .NET на Microsoft Visual Basic .NET
Заказать на Озоне



Яндекс-цитирования

Основы 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 = "Питер"

будет невозможна - ошибка возникнет еще на стадии компиляции.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев