Как связать событие с изменением значения переменной?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Как связать событие с изменением значения переменной?

Сообщение viter.alex » 27.01.2010 (Ср) 15:33

Имеется переменная, допустим Integer (счётчик). При изменении значения переменной мне нужно выполнять набор действий. Сейчас это делаю в лоб: после строки кода, в которой изменяю значение этой переменной, пишу этот набор действий, ну или ставлю процедуру, в которой этот набор действий записан.
Но понимаю, что это не по-человечески: я искусственно создаю лишнюю процедуру. Да и не всегда можно отследить все места, где переменная изменяется.
Как генерировать событие при изменении переменной? Класс создавать или как?
Лучше день потерять — потом за пять минут долететь!

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Как связать событие с изменением значения переменной?

Сообщение MIT » 27.01.2010 (Ср) 15:37

Сделать переменную-счетчик приватным, создать свойство для доступа к значению и установки значения, в set_Property вызывать событие:
Код: Выделить всё
Public Class MyClass
Private _counter as integer
Public Event CounterChanged(NewValue as integer)

Public Property Counter as Integer
  Get
    Return _counter
  End Get
  Set(Value as integer)
    _counter=Value
    RaiseEvent CounterChanged(Value)
  End Set
End Property
End Class
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

viter.alex
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 221
Зарегистрирован: 27.07.2008 (Вс) 20:17
Откуда: Montreal

Re: Как связать событие с изменением значения переменной?

Сообщение viter.alex » 27.01.2010 (Ср) 17:00

Ясненько, спасибо
Лучше день потерять — потом за пять минут долететь!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

    TopList  
cron