Упражнения по теме делегаты и события29.10.2022, 02:11. Показов 4113. Ответов 2
Метки нет (Все метки)
Подскажите пожалуйста, какое-нибудь задание или задачу для практического понимания событий и делегатов.
Только что прошел теорию делегаты и события, все вроде и понятно, а вроде и нет. Хочется что-нибудь сделать прикольное, для тренировки, а придумать ничего не получается. Нашел в инете задание про пинг-понг, типа два класа шпуляют в друг друга сообщениями. Не понял причем тут события, если это делается одним методом. И еще вот это вот сделал сам: Кликните здесь для просмотра всего текста
Но тема событий все равно не раскрыта. Вроде как есть три класса (библиотеки). В классе NumberGenerator может быть много всякой логики для генерации чисел. ClassHandler может всячески сортировать эти числа по разным признакам. ClassMessage сообщает о происходящем с числами пользователю. Причем текст сообщений, можно настраивать извне. Но этот пример больше похож на больную фантазию. Подкинте пожалуйста, идей, что намутить, чтобы хорошенько помучиться с делегатами и событиями, чтобы запомнилось. Добавлено через 1 час 26 минут Вот еще PingPong но тоже ощущение, что события применяются ради событий. Это можно было тоже обычными методами сделать Кликните здесь для просмотра всего текста
0
|
|||||||||||
| 29.10.2022, 02:11 | |
|
Ответы с готовыми решениями:
2
Упражнения по теме перегрузка операторов
События и делегаты |
|
96 / 55 / 23
Регистрация: 01.05.2017
Сообщений: 78
|
|||||||||||
| 29.10.2022, 08:46 | |||||||||||
Сообщение было отмечено Leshakk как решение
Решение
События в C# это способ контролировать доступ к переменной-делегату, подобно свойствам для доступа к полям. Переменные-делегаты - по сути переменные в которых можно хранить несколько методов, подходящих под делегат-тип, и вызывать эти методы. В общем особой разницы между событиями и делегатами в C# я не вижу.
Если рассматривать делегаты, то применения разные есть. Правда если о них не знать, то конечно тяжело понять, что попался тот случай где нужны как раз они. Перебор методов, хранящихся в массиве
Передача метода в другой метод
А события, как я писал ранее, это те же делегаты, только с методами add и remove. Но воспринимаем мы их иначе, сразу ожидая, что речь идет о применении как в шаблоне разработки (паттерне программирования) "наблюдатель". Я думаю, лучше всего изучать события путем написания приложений Windows Forms. Там они очень активно используются. Начать с автоматического создания обработчиков событий (например когда делаем двойной щелчок по элементу управления в дизайнере формы или в списке событий на панели свойств). А потом дойти до программной генерации элементов управления на форме и назначения обработчиков для событий, связанных с ними. Приложу файл с лабораторной работой на эту тему. Можно перенести её в Windows Forms, добавив программное создание кнопок и подписей к ним. Ещё полезно пользоваться событиями в ситуациях, где требуется асинхронность, и в многопоточных приложениях.
1
|
|||||||||||
| 29.10.2022, 11:45 [ТС] | |
|
"Орки перед чтением статьи проверяют, упоминаются ли в тексте или заголовке эльфы, и если да, то отписываются от
издателя и пропускают эту статью." Это чудо!!! Спасибо Вам огромное! Просто Шедевр! И главное доходит!
0
|
|
| 29.10.2022, 11:45 | |
|
Помогаю со студенческими работами здесь
3
Делегаты и события Делегаты и события События и делегаты Делегаты и события Делегаты и события Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|