Лекция 5 Делегаты. Что это такое?


private event Del event1; Что такое событие



бет5/5
Дата02.02.2023
өлшемі0,54 Mb.
#167159
түріЛекция
1   2   3   4   5
Байланысты:
80274.pptx

private event Del event1;

Что такое событие

  • События это особый тип многоадресных делегатов, которые можно вызвать только из класса или структуры, в которой они объявлены (класс издателя).
  • Если на событие подписаны другие классы или структуры, их методы обработчиков событий будут вызваны когда класс издателя инициирует событие.

Что такое событие

  • События позволяют классу или объекту уведомлять другие классы или объекты о возникновении каких-либо ситуаций.
  • Класс, отправляющий (или порождающий) событие, называется издателем, а классы, принимающие (или обрабатывающие) событие, называются подписчиками.

Что такое событие

  • В 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

Пример из лабораторной

  • Мы можем прямо в коде добавлять или удалять методы обработки от событий элементов формы.


Достарыңызбен бөлісу:
1   2   3   4   5




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет