ПОНЯТНО О Visual Basic NET (том 3)


Первый способ создания и обработки событий: WithEvents - часть 3


Private Sub Счет_Не_хватает_денег() Handles Счет.Не_хватает_денег

Важно понять следующую вещь: Событие не несет в себе никакой информации о том, что именно произошло. В нем ничего нет, кроме его названия. Как тогда программист, пишущий код формы, может быть уверен, что событие Не_хватает_денег возникает именно в тот момент, когда со счета пытаются снять больше, чем там есть? Уверенность может возникнуть только в том случае, если программист, пишущий код класса, пообещает, что так оно и есть на самом деле. Конечно, если код формы и класса пишет один и тот же программист (как в нашем случае), тогда другое дело.

Рассеиваем сомнения. Вы скажете: Того же эффекта можно добиться безо всяких событий, просто написав в коде класса вместо RaiseEvent Не_хватает_денег() оператор, меняющий текст на метке. Но я думаю, магазин не очень будет доволен, что банк протягивает свои длинные руки и так грубо вмешивается во внутренние дела фирмы (то есть формы). Конечно, есть и другие способы решить задачу, но все они хуже. Механизм событий очень гибок и не сует нос в чужие дела. Программисту класса в нашем случае не нужно даже ничего знать о том, как именно на форме будут обрабатывать его событие и будут ли обрабатывать вообще. Его дело – породить событие, а там хоть трава не расти.




Начало  Назад  Вперед



Книжный магазин