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



Реализация свойств
8 февраля 2009

Свойства позволяют сделать доступ к значениям и объектам — членам класса, бо-
лее устойчивым к ошибкам, чем при использовании обычных полей. В сущности,
свойство — это специальный метод, внешне напоминающий поле. Значения свойств
устанавливают и читают так же, как значения полей:
Visual Basic .NET
1 Установить свойство TextBox"!. Text
TextBoxl.Text = "Text Property"
Dim myString As String
1 Получить значение TextBoxl.Text и присвоить его леремеьной myStriig
rnyString = TextBoxl.Text
Visual C#
// Установить свойство TextBoxl.Text
textBoxl.Text = "Text property";
string rnyString;
// Получить значение TextBoxl.Text и присвоить его переменной myString
myString = textBoxl.Text;
На этом уровне свойства выглядят и работают, как поля, но код, который «сто-
ит» за свойствами, несколько сложнее. Свойство состоит из двух специальных ме-
тодов: получателя (getter) и установщика (setter) . Далее показан пример объявле-
ния свойства МуТехг.
Visual Basic .NET
1 Создать закрытую локальную переменную для хранения значения свойства.
Private mText As String
Реализация свойства
Public Property МуТехЦ) As String
Get
Вернуть значение локальной переменной.
Return mText
End Get
Set(ByVal Value As String)
' Установить значение локальной переменной,
mText = Value
End Set
End Property
Visual C#
// Создать закрытую локальную переменную для хранения значения свойства,
private string mText;
// Реализация свойства
public string MyText
get
;
// Вернуть значение локальной переменной,
return mText;
:
set
// Установить значение локальной переменной.
mText = value;
В методе-установщике применяется специальное ключевое слово Value (value),
представляющее новое значение, присваиваемое данному свойству. Свойства от-
крывают доступ к объектам любого типа, а также к массивам и наборам. Объект
или значение, предоставляемое свойством, обычно хранится в закрытой (private)
локальной переменной (такой, как т Text из предыдущего примера); при получении
свойства его значение извлекается из этой переменной.
Пример, показанный выше, демонстрирует довольно примитивное свойство, ко-
торое мало отличается от обычного поля. Одно из ключевых преимуществ свойств
состоит в возможности размещения в методах, получающих и устанавливающих
значение свойства, дополнительного кода, который выполняет необходимые вы-
числения или проверяет введенное значение. Ниже показан пример свойства, пе-
ред установкой которого новое значение проверяется.
Visual Basic .NET
Private mLength As Integer
Public Property Length() As Integer
Get
1 Вернуть значение локальной переменной.
Return mLength
End Get
Set(ByVal Value As Integer)
Проверяем, не превышает ли значение заданный предел (32).
If Value > 32 Then
MessageBox.Show(Value.ToString &
is too large a value for this property!")
Else
mLength = Value
End If
End Set
End Property
Visual C#
private int mLength;
public int Length
{
get
!
// Вернуть значение локальной переменной.
return mLength;
^ 25
se
// Проверяем, не превышает ли значение заданный предел (32).
if (value > 32)
MessageBox.Show( value. ToStringO +
is too large a value for this property!");
else
mLengtn = value;
> Как создать свойство
1. Объявите закрытое поле или объект, в котором будет храниться значение (или
объект), возвращаемое этим свойством.
2. Напишите для свойства код, возвращающий значение.
3. Добавить, если необходимо, дополнительный код проверки в метод, устанавли-
вающий значение или получающий значение свойства.

Теги: .NET

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

Реализация полиморфизма через интерфейсы
Связывание, просмотр и фильтрация данных
Императивная защита по правам доступа к коду
Модель защиты, основанная на ролях
Параметризованные свойства
Типы значений и ссылочные типы
Работа с классом Help
Создание производных элементов управления
Проверка на уровне поля
Двоичные файлы .NET
Обзор ADO.NET
Наследование от абстрактного класса
Вызов методов
Организация доступа к данным и работа с объектом DataReader
Распространение приложений через Интернет
| .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 | Реализация свойств. Регион сайта: Москва и Санкт-Петербург