* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Параметризованные свойства
8 февраля 2009

Как правило, разработчики создают свойства, возвращающие единственное значе-
ние или объект. В Visual Basic .NET можно создавать свойства, которые принимают
параметры. Как правило, такие свойства возвращают диапазон (или массив) значе-
ний. Рассмотрим для примера объект Engine, представляющий двигатель («engine»
по-английски — двигатель). У реального двигателя может быть несколько цилинд-
ров, аналогично объект Engine включает несколько объектов Cylinder. Чтобы не пи-
сать код для доступа к каждому из этих объектов, создают свойство Cylinder, полу-
чающее или устанавливающее значение любого объекта Cylinder в зависимости от
переданного параметра.
Объявление параметризованных свойств не отличается от такового для обычно-
го свойства, единственное отличие — в объявлении параметра. Далее пишут код
методов, получающих и устанавливающих значение свойства. Вот пример парамет-
ризованного свойства, открывающего доступ к массиву объектов:
Visual Basic .NET
Создать массив для хранения значений свойства.
Private mCylinders(7) As Cylinder
Public Property Cylincfers(ByVal i As Integer) As Cylinder
Get
1 Проверить параметр, переданный при обращении к свойству.
If I > 7 Then
MessageBox.Show("Property value out of range!")
Exit Property
End If
1 Если объект не существует, создать его.
If niCylinders(i) Is Nothing Then
mCylinders{i) - New Cylinder^)
End If
Return mCylinders(i)
End Get
Set(ByVal Value As Cylinder)
' Проверить параметр, переданный при обращении к свойству.
If i > 7 Then
MessageBox.Show("Property value out of range!")
Exit Property
End If
mCylinders(i) - Value
End Set
End Property
Visual C# не поддерживает параметризованные свойства, за исключением ин-
дексаторов, о которых пойдет речь в следующем разделе.

Теги: .NET

Статьи по теме:

Архитектура данных ADO.NET
Применение элемента управления PrintPreviewControl
Применение наборов элементов управления
Всё новое - это хорошо забытое старое
Применение объектов DataSet и обновление данных
Модификаторы доступа к типам
Создание типизированного объекта DataSet с помощью XML Designer
Проверка разрешений, запрашиваемых установленной сборкой
Вложенные типы
Операторы Imports и using
Получение доступа к членам базового класса
Towards Cleaner Code, A C# Asynchronous Helper
Замещение членов базового класса в Visual Basic .NET
Компонент PrintDocument
Класс DataViewManager
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Параметризованные свойства. Регион сайта: Москва и Санкт-Петербург