Поделиться через


Вызов нескольких событий

Обновлен: Ноябрь 2007

Если ваш класс вызывает несколько событий и запрограммирован так, как описано в разделе Создание события, то компилятор создает одно поле для каждого экземпляра делегата события. Если количество событий велико, то расходы ресурсов на хранение одного поля для каждого делегата могут стать неприемлемыми. Для таких случаев в среде .NET Framework предоставляется конструкция, называемая свойствами события (пользовательские события в Visual Basic 2005), которую можно использовать вместе с другой структурой данных (по вашему выбору) для хранения делегатов события.

Свойства событий состоят из объявлений событий, сопровождаемых методами доступа к событиям. Методы доступа к событиям представляют собой определяемые пользователем методы, позволяющие добавлять или удалять экземпляры делегата события из структуры данных хранения. Обратите внимание, что использование свойств события снижает быстродействие по сравнению с полями события, поскольку перед вызовом каждого делегата события необходимо извлечь его. Поэтому должен быть достигнут компромисс между занимаемой памятью и быстродействием. Если класс определяет множество событий, которые вызываются нечасто, то пользователь может реализовать свойства событий. Элементы управления Windows Forms и элементы управления сервера ASP.NET используют вместо полей событий свойства событий.

См. также

Задачи

Практическое руководство. Обработка нескольких событий с помощью их свойств

Практическое руководство. Объявление событий, которые экономят использование памяти

Ссылки

System.ComponentModel.EventHandlerList

System.Web.UI.Control.Events

Другие ресурсы

Обработка и вызов событий