Подключение приемников к источнику
В нашем распоряжении имеется весь код, необходимый для рассылки событий, но пока нет ни одного заинтересованного получателя. Существует несколько способов, которыми класс может сообщить VB.NET о своем желании получать события от другого класса. Простейший способ очень похож на тот, который использовался в VB6: на уровне модуля (или класса) объявляется переменная класса-приемника с ключевым словом WithEvents. Например, если включить в класс следующую строку, не входящую ни в один из членов:
Private WithEvents anEmployee As Employee
Объекты этого класса становятся потенциальными приемниками событий, инициируемых классом Employee. Обратите особое внимание на некоторые особенности этого объявления:
- Класс источника должен быть указан явно, объявления вида As Object недопустимы.
- Объявление располагается на уровне модуля или класса и не содержит ключевого слова New.
После включения этой строки в программу объектная переменная anEmployee может использоваться всюду, где вас интересует событие SalarySecurityEvent. Как показано на рис. 6.2, IDE автоматически создает обработчик события с именем, построенным по схеме А_В, для каждой объектной переменной, объявленной с ключевым словом WithEvents. Чтобы вызвать автоматически сгенерированный "скелет" события, достаточно выбрать его в раскрывающемся списке, как на рис. 6.2.
Рис. 6.2. Автоматически сгенерированный код обработчика события