События это особый тип многоадресных делегатов, которые можно вызвать только из класса или структуры, в которой они объявлены (класс издателя).
Если на событие подписаны другие классы или структуры, их методы обработчиков событий будут вызваны когда класс издателя инициирует событие.
Что такое событие
События позволяют классу или объекту уведомлять другие классы или объекты о возникновении каких-либо ситуаций.
Класс, отправляющий (или порождающий) событие, называется издателем, а классы, принимающие (или обрабатывающие) событие, называются подписчиками.
Что такое событие
В C# в стандартном приложении Windows Forms или веб-приложении вы подписываетесь на события, вызываемые элементами управления, такими как кнопки и поля со списками.
Как создавать
Создать метод, с помощью которого на это событие можно будет подписаться.
public void AddToEvent(Del method) {
if(event1 == null)
event1 = new Del(method);
else
event1 += method; }
Как создавать
И метод, в котором событие будет вызываться.
public void SomeMethod() {
//что-то происходит
if(event1 != null)
{
event1("Что-то произошло");
}
}
Пример
Как это может выглядеть наглядно
Как создавать
Все, что остается, это привязать метод одного класса к событию в этом классе через объекты классов.
Создадим другой класс.
Как создавать
Теперь связываем наши классы
События в C#
В C# в стандартном приложении Windows Forms или веб-приложении вы подписываетесь на события, вызываемые элементами управления, такими как кнопки и поля со списками и т.п.
Пример из лабораторной
Если посмотреть файл Form1 .Designer.cs
Пример из лабораторной
Мы можем прямо в коде добавлять или удалять методы обработки от событий элементов формы.