Событие - это член класса, который позволяет объекту или классу предоставлять уведомления. Клиенты могут ассоциировать исполняемый код с событиями путем предоставления обработчиков событий.
event-declaration:
attributesopt event-modifiersopt Event identifier : type;
event-modifiers:
event-modifier
event-modifiers event-modifier
event-modifier:
New
Public
Protected
Friend
Private
Shared
Virtual
Final
Override
Abstract
К определениям событий применяются те же правила, что и к определениям методов в отношении допустимых комбинаций модификаторов.
Тип, указанный в определении события, должен быть делегатом и должен иметь уровень доступа не ниже чем уровень доступа самого события. Для указания обработчика событий используется оператор присвоения событию.
Delegate LoadEventHandler(x, y, z: integer);
Delegate ErrorEventHandler(x, y: integer);
Abstract Class BaseClass
//Абстректное событие, которое должно быть переопределено
Abstract Public Event OnLoad: LoadEventHandler;
End Class;
Class UserObject: BaseClass
//Переопределение абстрактного события
Public Override Event OnLoad: LoadEventHandler;
//Объявление собственного события
Public Event OnError: ErrorEventHandler;
Constructor UserObject();
Begin
//Установка обработчиков событий
OnLoad := Load;
OnLoad += LoadEx;
OnError := CheckError;
End Constructor;
Sub DelEventHandler();
Begin
OnLoad := Null;
OnError := Null;
End Sub;
//Процедуры - обработчики событий
Sub Load(x, y, z: integer);
Begin
End Sub;
Sub LoadEx(x, y, z: integer);
Begin
End Sub;
Sub CheckError(x, y: integer);
Begin
End Sub;
End Class;
См.также: