Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на 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

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

Защита приложения
Декларативная защита по правам доступа к коду
Лямбда-выражения
Абстрактные классы и члены
Доступ к «плоским» файлам
Реализация полиморфизма через наследование
Компонент ErrorProvider
Параметры компоновки установочной программы
Редактор условий установки
Обработка ошибок при обновлении базы данных
Генерация исключений
Применение типов данных
Интерфейсы как средство достижения полиморфизма
Добавление элементов управления на панель Toolbox
Модификаторы доступа для вложенных типов
| .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


     



Rambler's Top100

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

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