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

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

Реализация полиморфизма через интерфейсы
Применение компонента HelpProvider
Создание элемента управления
Проект установочной программы
Развертывание приложений с помощью XCOPY
Члены типов CTS
Стыковка и фиксация элементов управления
Обработка ошибок при обновлении базы данных
Перечисления CTS
Создание формируемых элементов управления
Создание проекта установочной программы
Проверка на уровне поля
Активация и деактивация команд меню
Интерфейсы CTS
Изменение меню во время выполнения
| .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 | Реализация свойств. Регион сайта: Москва и Санкт-Петербург