9 / 9 / 0
Регистрация: 27.01.2013
Сообщений: 248
|
|
1 | |
Для чего использовать ключевое слово event в объявлении события, если события — это те же самые делегаты03.10.2014, 17:19. Просмотров 2811. Ответов 1
Метки нет Все метки)
(
Господа, скажите пожалуйста, для чего использовать ключевое слово event в объявлении события, если события - это те же самые делегаты ? Вроде все прекрасно можно реализовать и без event. По сути объявление поля события - это объявление переменной делегата, в которую в дальнейшем внедряются методы. И соответственно при вызове этого события происходит групповой вызов методов. Спасибо.
0
|
|
03.10.2014, 17:19 | |
делегаты и события. Как их использовать и где? использовать обработку события по изменению данных DataGridView в обработке события сторонней кнопки Почему если делегат события определен в другом классе, то не получается создать генерацию события? Ключевое слово static в объявлении функции |
|
2262 / 1720 / 511
Регистрация: 02.08.2011
Сообщений: 4,909
|
||||||
03.10.2014, 18:17 | 2 | |||||
![]() Решение
Как тут недавно говорили, одно из отличий - при отсутствии подписчиков на событие, его rising не выбрасывает исключение. Плюс потокобезопасность при добавлении/удалении подписчиков из разных потоков.
Сам еще до конца не штудировал эту тему, а точнее успел подзабыть, но вот неплохой материал: 1.Хабр 2. Сlr via C# 3-ее издание (глава 11 - события и глава 17 - делегаты) Добавлено через 17 минут А не, тот кто говорил про выбрасывание исключений, нагло ВРАЛ. Проверьте, как ведут себя делегат и событие при отсутствии подписчиков: ( в обоих случаях Nullreference exception, оба делегата становятся равными Null) Значит только разница в потокобезопасности. Но все же прочитайте указанные ресурсы.
Вообще, почти цитируя одного из местных авторитетов (да простит меня сенсей ![]() "События - специализированные делегаты, по сути формализация паттерна public-subscribe". Цитата отсюда: Снова хабр И про потокобезопасность тоже нужно самому проверить. ![]()
2
|
03.10.2014, 18:17 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Для чего необходимо ключевое слово typename Для чего ключевое слово virtual в EF Code First как обойти ошибку компиляции Compile error при объявлении события для несуществующей библиотеки? Не срабатывают события, если использовать тот же самый элемент в шаблоне Делегаты и события
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
Тематические курсы и обучение профессиям онлайн Профессия С#-разработчик (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |