События (руководство по программированию на C#)
События позволяют классу или объекту уведомлять другие классы или объекты, когда возникает что-то интересное. Класс, который отправляет (или вызывает) событие, называется издателем, а классы, которые получают (или обрабатывают) событие, называются подписчиками.
В типичном приложении Windows Forms или Web на языке C# вы подписываетесь на события, инициируемые элементами управления, такими как кнопки и поля списка. Интегрированная среда разработки Visual C# (IDE) можно использовать для просмотра событий, публикуемых элементом управления, и выбора тех, которые требуется обрабатывать. Интегрированная среда разработки предоставляет простой способ автоматического добавления пустого метода обработчика событий и кода для подписки на событие. Дополнительные сведения см. в разделе Как подписаться и отменить подписку на события.
Обзор событий
События имеют следующие свойства:
- Издатель определяет, когда возникает событие; подписчики определяют, какие действия принимаются в ответ на событие.
- Событие может иметь несколько подписчиков. Подписчик может обрабатывать несколько событий из нескольких издателей.
- События, не имеющие подписчиков, никогда не вызываются.
- События обычно используются для сигнала о действиях пользователя, таких как нажатия кнопки или выбор меню в графических пользовательских интерфейсах.
- Если событие имеет несколько подписчиков, обработчики событий вызываются синхронно при возникновении события. Для асинхронного вызова событий см. раздел Асинхронный вызов синхронных методов.
- В библиотеке классов .NET события основаны на делегате EventHandler и базовом классе EventArgs.
Связанные разделы
Дополнительные сведения см. в следующем разделе:
- Подписка на события и отмена подписки на события
- Как публиковать события, соответствующие рекомендациям .NET
- Как вызывать события базового класса в производных классах
- Реализация событий интерфейса
- Реализация пользовательских методов доступа к событиям
Спецификация языка C#
Дополнительные сведения см. в разделе событий в спецификации языка C#. Спецификация языка является окончательным источником для синтаксиса И использования C#.