C# Events События

Поделиться
HTML-код
  • Опубликовано: 4 июл 2024
  • События (Events) важная концепция в языке программирования C#. Понимая работу делегатов, можно смело браться за изучение событий. В этом ролике мы дополним картину, которую начали писать в ролике про делегаты и закроем связку delegates + events на 100%. Заходите, тут станет понятно)
    Ролик про делегаты: • C# Delegates Делегаты
    Telegram канал: t.me/codaza
    На кофе ☕️: pay.cloudtips.ru/p/179d0532
    Patreon: / codaza
    Boosty: boosty.to/codaza
    0:00 - Начало
    0:37 - Про делегаты
    1:13 - Механика event
    2:15 - Зачем нужна обёртка над delegate?
    4:28 - Анатомия объявления event
    5:50 - Техника использования event
    7:35 - delegate vs event
    13:30 - Завершение
    #csharpevents #events #события #делегатыисобытия #csharp #сишарп #codaza

Комментарии • 125

  • @codaza-channel
    @codaza-channel  2 года назад +33

    Удобная навигация по видео :)
    0:00 - Начало
    0:37 - Про делегаты
    1:13 - Механика event
    2:15 - Зачем нужна обёртка над delegate?
    4:28 - Анатомия объявления event
    5:50 - Техника использования event
    7:35 - delegate vs event
    13:30 - Завершение

  • @chinchilla898
    @chinchilla898 2 года назад +90

    Очень хорошее объяснение. Везде пишут технические детали, но никто не пытается поговорить о сути. Сейчас у меня все прояснилось. Спасибо! Делаю репост!

    • @codaza-channel
      @codaza-channel  2 года назад +8

      Супер! Здорово, что Вы почувствовали суть event 👍

  • @user-in1xx7rs1z
    @user-in1xx7rs1z 10 месяцев назад +28

    Лучший канал по программированию! Жаль, что заброшен

    • @user-iv3eh4hp3z
      @user-iv3eh4hp3z 8 месяцев назад

      Да, канал шикарен!
      Авторы красавцы.

  • @mestnq5553
    @mestnq5553 2 года назад +38

    странно что так мало подписчиков.. очень годные видео, продолжайте!

  • @user-fv4rj6yh3i
    @user-fv4rj6yh3i 2 года назад +25

    Respect for explanation the difference between a delegate and an event.

    • @codaza-channel
      @codaza-channel  2 года назад +2

      You are welcome :) Thank you for the comment!

  • @user-hs3tk5pv2m
    @user-hs3tk5pv2m Год назад +20

    Видно что очень много сил вложено в видеоурок. Ваши объяснения очень отличаются от всего остального, что можно найти на просторах ютуба именно тем, что Вы в первую очередь стараетесь донести суть, а не сухую теорию. Большой спасибо за Ваши ролики!

    • @codaza-channel
      @codaza-channel  Год назад +2

      Благодарю за тёплый комментарий 💙 Очень рад, что ролик оказался полезным. Главная цель канала codaza - доступное изложение непростых концепций понятным языком.

  • @antonchesnokov9230
    @antonchesnokov9230 Год назад +2

    Помимо всего сказанного чувство юмора у автора просто блестящее)

  • @mikkimorfin5406
    @mikkimorfin5406 2 года назад +1

    Благодарю)Хорошего всем дня!

  • @user-wi1yu7pp6q
    @user-wi1yu7pp6q 2 года назад +5

    Просто невероятный формат роликов. Спасибо)

  • @Olegcowboyoleg
    @Olegcowboyoleg Год назад +5

    Такие, как вы, автор, нужны людям. И ролики такие нужны. Хорошо, плавно, гладко, без всякого лишнего мычания, в меру динамтчно, в меру нерасторопно, но по делу.
    Поклон вам.
    Спасибо.

  • @alexanderdresvyansky8614
    @alexanderdresvyansky8614 2 года назад +5

    Спасибо. Благодаря такой подачи даже с недосыпом мозг собирается в кучу.

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Супер! Спасибо за комментарий. Всё же, старайтесь высыпаться :)

  • @victorbelkov5346
    @victorbelkov5346 2 года назад +11

    Классно, все элементарно и просто. Спасибо автору, достаточно было задуматься почему столь похожие на первый взгляд фичи называются совершенно по разному и стало понятнее. Цитаты огонь, кусочек мудрости в придачу к хорошим знаниям плюс дополнительный яркий образ для запоминания темы.

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Очень рад, что вы уловили суть событий в C#. Теперь в ваших руках очень мощный инструмент, пользуйтесь им разумно 😉

  • @michael_sss
    @michael_sss Год назад +1

    Просто топчик. Я наконец-то ДЕЙСТВИТЕЛЬНО понял что такое события )) автор, продолжай - у тебя талант объяснять.

  • @HeIvis
    @HeIvis 2 года назад +2

    Невероятно информативный видос!!!

  • @vladoss4643
    @vladoss4643 Год назад

    Спасибо. В начале было очень понятно. С середины стало сложнее, но вы сделали все что смогли) Отличное видео)

  • @alexandrsavin2266
    @alexandrsavin2266 7 месяцев назад

    Классный канал и топовый контент. Очень понятно. Приятно слушать. Надеюсь, что канал оживет. Спасибо за всё

  • @ivanbazhanov
    @ivanbazhanov 2 года назад +6

    Спасибо! Ждем про шаблоны проектирования!)

  • @iGynLoD
    @iGynLoD Год назад +2

    Самое лучшее объяснение, из тех что я видел.

  • @user-ey9gs2xk2e
    @user-ey9gs2xk2e 2 года назад +2

    Суперское видео, спасибо

  • @huntermaster617
    @huntermaster617 2 года назад +1

    Спасибо большое за видео!

  • @mastervolodsobeck5176
    @mastervolodsobeck5176 2 года назад +2

    Благодарю! Лучшее объяснение, все стало на свои места, и даже получилось проверить!

    • @codaza-channel
      @codaza-channel  2 года назад

      Спасибо за комментарий. Рад, что информация оказалась полезной 🙂

  • @kirillpetrov1424
    @kirillpetrov1424 2 года назад +1

    Отличное видео, большое спасибо 😁

  • @ekaterina6453
    @ekaterina6453 2 года назад +1

    Я вас обожаю ) жду теперь про интерфейсы )

  • @enclave_knight
    @enclave_knight Год назад +2

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

  • @NK-fy4mw
    @NK-fy4mw 2 года назад +2

    Спасибо большое за понятное объяснение, все по полочкам разложили)

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Рад, что видео оказалось полезным 🙂 Благодарю за комментарий 👍

  • @ellakamenetsky7742
    @ellakamenetsky7742 11 месяцев назад

    Спасибо за крутые уроки!

  • @lomshakov
    @lomshakov 2 года назад +1

    Уникальная подача)

  • @Enjoykian
    @Enjoykian 5 месяцев назад

    Автор, спасибо за труд!!! Качество подачи на самом высшем уровне.

  • @user-zv8qs3es7m
    @user-zv8qs3es7m 7 месяцев назад

    Офигеть топовый контент, 2 видео уже смотрю мне оч нравится, похоже я с вами на долго))

  • @user-nc8lm7ow3q
    @user-nc8lm7ow3q Год назад

    Круто, спасибо

  • @user-gq8of6kd4r
    @user-gq8of6kd4r 2 года назад +1

    Все верно и по делу

  • @user-wt4gr3wn7j
    @user-wt4gr3wn7j 2 года назад +1

    Оо как ждал этого видео)

  • @bennails3447
    @bennails3447 11 месяцев назад

    Спасибо за классную рубрику! Побольше бы таких видео про разные аспекты C#. Может быть, даже что-то про автоматизацию тестирования появится (не Unit-тесты, а именно QA Automation) Выйду на работу в следующем месяце, подпишусь на спонсортво канала

  • @user-yo7mw6oj4p
    @user-yo7mw6oj4p 2 года назад +1

    Теперь стало понятней )))

  • @Stair777
    @Stair777 Год назад +3

    сложна, но интересно) вернусь к видео, когда наберусь побольше программисткого скилла

  • @shadow_wolfplay943
    @shadow_wolfplay943 6 месяцев назад

    Меня сложно заставить подписаться, но я подписался, даже не успев досмотреть видео до конца. На сравнении с красками пошёл подписываться.

  • @nikita6812
    @nikita6812 2 года назад +2

    Крутая подача материала ;)

    • @codaza-channel
      @codaza-channel  2 года назад

      Спасибо за комментарий. Впереди много интересного 😉

  • @user-nw8sn5gf9e
    @user-nw8sn5gf9e Год назад

    Хочу больше уроков !Спасибо большое !

  • @minimalstory
    @minimalstory 2 года назад +1

    Спасибо, все понятно)

    • @codaza-channel
      @codaza-channel  2 года назад

      На здоровье 🙂 Благодарю за комментарий 👍

  • @golibxayrullayev1353
    @golibxayrullayev1353 Год назад +1

    Круто спасибо

  • @MimakaGamleT
    @MimakaGamleT Год назад

    Про цвета - просто вышак! Иными словами: Ваша аллегория с цветами - выше всяких похвал.

  • @niklp6116
    @niklp6116 2 года назад +1

    вроде понял, спасибо. Но нужно время чтоб это отложилось в голове)

  • @user-lx8xj8ke2f
    @user-lx8xj8ke2f 2 года назад +1

    Здорово

  • @svyattp
    @svyattp 2 года назад +1

    Годно!

  • @SOUNDCHILL1704
    @SOUNDCHILL1704 4 месяца назад

    когда тебе пришлось смотреть видео дважды: один раз из-за музыки, другой раз из-за материала

  • @firemanhood1526
    @firemanhood1526 2 года назад +1

    Топ делаешь! Подача угар) раскладываешь по полочкам. Ждем еще видео и побольше, лайк и подписка. По асп.нет кору хорошо бы побольше инфы.

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Благодарю за комментарий! Рад, что подача понравилась. Да, конечно, будем еще много говорить на канале про ASP.NET :)

  • @user-bz5kg2yw7m
    @user-bz5kg2yw7m 2 года назад +2

    Наконец-то разница улеглась в голове. Спасибо!

  • @AzizjanAyupov_leo
    @AzizjanAyupov_leo Год назад

    Круто. Как всегда докопались до дьявола)

  • @user-fb5tn6yz5c
    @user-fb5tn6yz5c 5 месяцев назад

    После фразы: "Напоминаю Вы на канале Кадаза и отсюда невозможно уйти не поняв материал" Я не мог не подписаться

  • @user-bx4ui2me6m
    @user-bx4ui2me6m Год назад +4

    Добрый день! Наконец-то, среди сотни сайтов нашел канал, где смог понять что такое делегат, ну и события автоматом. Спасибо! Большая просьба: не могли бы Вы вот также профессионально просветить наконец, так что же такое многопоточность и все, что вокруг нее вертится, а также работа с БД. Заранее благодарен!

  • @fa3r714
    @fa3r714 2 года назад +1

    Спасибо за видео)
    За 15 минут видео и немного практики все стало понятно, обьясняешь охуенно) Удачи в продвижении канала😌

  • @user-ec4mt4wy1i
    @user-ec4mt4wy1i Год назад +3

    Одни из самых понятных уроков по событиям в C#
    Спасибо за урок
    p.s. Подскажите, будут ли новые выпуски?

  • @kostenkoff
    @kostenkoff Год назад +1

    Мужик, я тебя умоляю, больше кода. Аналогия это не аргумент. Так, спасибо за твой труд.

  • @saldy723
    @saldy723 2 года назад +1

    ля видосики классные

  • @artmasterio1036
    @artmasterio1036 2 года назад +1

    Пожалуйста сделайте видео про invoke, invoke member. Почему в текст боксе используют invoke? Канал ваш просто огонь! Буду всем советовать. Спасибо вам!

  • @bsist2413
    @bsist2413 2 года назад +2

    Было бы хорошо добавить, что event реализует синтаксическую обертка методов add remove над делегатами.

  • @trash.6
    @trash.6 Год назад +1

    объясните пожалуйста, что значит кода из вне? это метод, который находиться в другом классе или метод, который находиться вообще в другом файле с кодом? (9:40)

  • @iGynLoD
    @iGynLoD Год назад

    Утверждение в начале неверное. Правильное: При условии вечности Вселенной, каждое не невозможное событие является неизбежным!

  • @ilyavoloshyk1411
    @ilyavoloshyk1411 2 года назад +6

    Привет, можешь видое про различие пайпов wep api / MVC сделать? Был бы очень признателен

    • @TheVelf
      @TheVelf 2 года назад

      все эти минимал апи и прочее, каша как у новичка во всех этих какой проект создавать и для чего.

  • @hmixa
    @hmixa Год назад +2

    Дико извиняюсь но тема не вся раскрыта. Не услышал главное отличие event-a от delegate-a. А оно принципиальное! Это я пишу для Ваших подпищиков. Делегат это поля класса, как было правильно замечено, как любое плен типа int или string. A event это всегда свойство! С двумя не явными setter-ом и getter-ом, а иногда и явными и приватным полем типа delegate. Вот поэтому подписаться на событие и отписаться можно и из вне класса, а то вызвать только изнутри, и это правильно! И только по этому, именно как property он (event) может быть объявлен в интерфейсе. Другими словами event это ничто другое как синтаксический сахар, за который мы и любим c#.

  • @-unity-
    @-unity- 2 года назад +1

    Слишком мало подписчиков. Решил исправить эту ошибку. Пусть ещё одним подписчиком станет больше!

    • @codaza-channel
      @codaza-channel  2 года назад

      Мы всегда рады новым подписчикам на канале! Впереди много интересного! 🙂

  • @Lisiy_Lis
    @Lisiy_Lis 7 месяцев назад

    13:00 спасибо за отличный материал и объяснение. Только нужно добавить, что самым главным отличием события от делегата является невозможно переписать список вызываемых методов вне класса. Если делегату можно задать вызываемый метод через = (и затереть таким образом все что там до этого находилось), то с событием такое "непроходже" - только через += (с сохранением списка вызовов и добавлением нового). Можно было отлично развить пример с библиотекой из прошлого урока, там именно что нужен не делегат а событие. Жаль про это не сказал. Жаль что забросил канал - у тебя отлично получалось

  • @user-pg8ry1tm3t
    @user-pg8ry1tm3t 2 года назад

    А методы calculatebonus хорошо бы по information expert инкапсулировать в employee

  • @aleksey_peresvet
    @aleksey_peresvet Год назад

    Я начинающий разработчик на C#(в том смысле, что работаю разработчиком), просмотрел это видео. Хм. Вынужден признать одно из двух: либо я недостаточно умен, либо автору видео лучше прекратить говорить о том, что вопрос темы после просмотра видео будет закрыт раз и навсегда)). Как минимум надо оговориться - у большинства будет закрыт. @Автор, дам совет, можете как угодно к нему относится, тем не менее: все люди разные и находятся на разной стадии понимания каких-то вещей. Одни люди какие-то вещи вообще не понимают, другие соответственно другие вещи не понимают. НО. Каждый человек на планете делает какие-то базовые вещи, которые действительно делает любой. Ну например покупает продукты в магазине, ходит на работу, ездит на (каком-то) транспорте, живет в доме(квартире), дружит с друзьями, женат(или замужем) и тд. Сейчас объясню к чему это предисловие, так вот, это, скажем так, общие поля и методы класса человек, приводя "аналогии" к этим полям, методам, свойствам и тд можно объяснить практически все что угодно, имея достаточное воображение. Как можно объяснить что-то такое делегат? Например: я заказываю продукты питания через службу доставки, я передаю в службу список нужных мне продуктов и жду курьера. Всё. Я ДЕЛЕГИРОВАЛ сбор и доставку продуктов каким-то НЕИЗВЕСТНЫМ мне людям. Таким образом служба доставки это ДЕЛЕГАТ, который хранит ссылку на курьера, я передал делегату список продуктов, делегат вызвал курьера и передал ему список продуктов. Теперь для чего нужны делегаты? Можно ответить используя приведенный выше пример: я не знаю какой именно курьер(метод) будет собирать и доставлять продукты, я знаю только название службы доставки(имя делегата), это очень удобно для меня, так как избавляет меня от любых хлопот, я не думаю какой курьер будет вызван, какой у него номер телефона, где он находится в данный момент, в каком магазине он будет собирать для меня продукты и тд, и это удобно для службы доставки, она в любой момент может поменять курьера, если один заболел или уволился или слишком занят на другом заказе и при этом службе доставки не нужно никак уведомлять об этом меня, ведь я понятия не имею какой именно курьер будет осуществлять доставку. Примерно так. И при этом ни одной строчки кода)).

  • @user-bh2ge1mu9x
    @user-bh2ge1mu9x 9 месяцев назад

    Многое прояснилось, хотя не до конца понял, чем конкретно во втором примере Congratulated() отличается от CalculateBonus() из первого, ведь его мы тоже можем теоретически делегировать сторонним классам. Все равно очень полезно, спасибо!

  • @valentinkravchenko2217
    @valentinkravchenko2217 Год назад +1

    Привет! Спасибо за видео, очень полезно! Такой вопрос: почему не заостраял внимание на добавление и удаление обработчиков событий? Это важно?

    • @codaza-channel
      @codaza-channel  Год назад +2

      Привет! Это важно, но не на столько, чтобы сильно заострять на этом внимание 🙂 Обработчик события добавляется через оператор +=, а удаляется через -=. Это достаточно простая операция. Гораздо важнее осознать уместность применения делегата и события.

  • @hulk3147426
    @hulk3147426 Год назад +1

    вот почему многие не умеют обьясеять свои записи? почему на 9й строке ты написал Stuck+= ShowPrice? зачем ?что она плюсует?

  • @user-pg8ry1tm3t
    @user-pg8ry1tm3t 2 года назад

    А как насчёт использования делегатов в конкурентной среде? Где нибудь в реактивной парадигме? Ведь это тоже подписка на события?..

  • @user-pg8ry1tm3t
    @user-pg8ry1tm3t 2 года назад

    Логично. Хранение ссылок. Только как следить чтоб ссылки не были битыми?.. garbage?..

  • @filiandun
    @filiandun Год назад

    Хорошо, я в сотый раз понял, как объявлять эти делегаты и события, но я и в теории не могу представить, на кой мне они упёрлись, из-за чего не понимаю вообще как их использовать.

  • @Olegcowboyoleg
    @Olegcowboyoleg Год назад

    Да, кстати, а почему делегат объявляется вне класса Програм, а само событие - внутри класса Програм, но вне тела метода Main?
    Это вообще имеет какое-то решающее значение?

  • @tomasgammister5776
    @tomasgammister5776 2 года назад

    Полез в делегаты, так как не могу вызвать метод с параметрами через Invoke, указав параметры именно в самом Invoke. Намекнули копать в сторону делегатов. Но пока не понял, поможет мне эта тема ?)

    • @codaza-channel
      @codaza-channel  2 года назад

      Не знаю точно Вашу ситуацию, но из представленной Вами информации могу предположить, что делагаты не имеют отношения к вопросу. Вероятно Вам следует использовать вызов метода через рефлексию и передать необходимые параметры через массив. Посмотрите информацию по этой ссылке, возможна она окажется полезной:
      stackoverflow.com/questions/38037614/invoke-method-with-reflection-pass-through-parameters-and-receive-a-return-value

  • @pofoq
    @pofoq Год назад

    Стало конечно понятнее, но... Наверное, только с практикой будет видна общая картина.
    Кто и как подписывается на события, например?

  • @v.s.938
    @v.s.938 5 месяцев назад

    Так и не понял, есть ли хоть какая-то разница между event и delegate

  • @GGamess
    @GGamess Год назад

    ienumerable?

  • @elmiravzalov5782
    @elmiravzalov5782 2 года назад

    Начал смотреть видео про делегаты и в один момент понял, что нужно сначала смотреть видео про события. Но в видео про события говорится, что всё таки нужно досмотреть про делегаты. Такие дела

    • @codaza-channel
      @codaza-channel  2 года назад

      Делагаты и события весьма тесно связаны. Сначала предлагается посмотреть видео про делагаты, а далее про события, так как событие - это логическое продолжение делегата.

  • @olexkov4643
    @olexkov4643 Год назад

    О самом главном не сказал...
    Event имеет урезанный интерфейс. А точнее только += и -= что предотвращает прямое влияние на делегат.
    На пример в случае публичного делегата ему можно присвоить null в некласса. С Еvent такое не пройдет....

  • @dad912
    @dad912 Год назад

    Если любое событие неизбежное - даже невозможное . Тогда неизбежно ли что какое-то событие не произойдет ?

  • @NikitaJe_
    @NikitaJe_ 10 месяцев назад

    Автор ты вернешься?

  • @NikitaJe_
    @NikitaJe_ 10 месяцев назад

    А куда автор делся?

  • @paul.antares
    @paul.antares 2 года назад

    Привет!
    Может быть я плохо дважды посмотрел ролик - не сплю целую ночь, ищу ответы. Вопрос в от в чем - зачем нужны события, если можно обычный метод вызвать и в этом методе вызывать другие методы? В чем такая ключевая фишка событий?

    • @codaza-channel
      @codaza-channel  2 года назад +9

      Привет!
      Конечно, мы можем вызывать обычные методы и даже должны это делать 🙂 Мы ни в коем случае не должны использовать события если сможем обойтись обычными методами. Событийная модель применяется, когда обычных методов нам не хватает. Например, когда вы создаете библиотеку. Вы не можете знать кто будет пользователем вашей библиотеки и из кода вашего класса вам нужно делать оповещения. То есть, вы просто не знаете какие методы нужно вызывать, но знаете, что какие-то точно нужно, потому в работе вашей библиотеки могут быть заинтересованы те, кто ее использует. Поэтому вы делаете что-то вроде слота подключения (событие) через который, другие люди могут передавать вам ссылки на методы, которые вы сможете вызывать.
      Если говорить супер грубо, но, чтобы вы уловили суть, события - это “дырка” в вашем классе, через которую вы сможете общаться с “другими”, но кто будут эти “другие” на момент создания программы вам неизвестно.
      Например, ваш класс отсылает SMS-сообщения и кому-то нужно считать все отосланные SMS-ки. Вы делаете эту дырку (событие) и производите оповещение после каждой отосланной SMS-ки. И все (кому это надо) подписываются на ваше событие и реагируют на него как хотят (например, считают количество отправленных SMS).

    • @paul.antares
      @paul.antares 2 года назад +3

      @@codaza-channel спасибо большое!

  • @GDrakula
    @GDrakula Год назад

    Делегат - это тип, который представляет ссылки на методы с определенным списком параметров и типом возвращаемого значения. При создании экземпляра делегата этот экземпляр можно связать с любым методом с совместимой сигнатурой и типом возвращаемого значения.22 сент. 2022 г. А вы говорите что делегат это класс ?
    Делегаты (Руководство по программированию на C#)

  • @korobok653
    @korobok653 2 года назад +1

    Нихуя не понял, но очень интересно

  • @Michaelovesyou
    @Michaelovesyou 11 месяцев назад

    До сих пор не понимаю, почему нельзя просто вызывать метод просто как Метод() или Класс.Метод()? То есть зачем что-то куда-то делегировать (не считая случаев, когда десять методов можно уложить в один красивый делегат)?
    А, и не понял, может ли класс "понять", что в каком-то другом классе произошло событие?

  • @isagidaiki
    @isagidaiki 9 дней назад

    пожалуйста вернитесь с новыми силами и роликами

  • @Ogur4ikHrustit
    @Ogur4ikHrustit 2 года назад +3

    Я правильно понимаю?:
    Подписавшись на событие ,оно может оповестить и через очень большое время в нужный момент?
    Делегаты нужны в первую очередь для инкапсуляции?
    Я просто который урок смотрю/читаю,вроде понимаю как работает,но не понимаю как это применить мне в моем пет проекте ,просто не могу въехать в суть надобности этих двух штук(

    • @codaza-channel
      @codaza-channel  2 года назад +6

      Нет-нет, пока Вы еще путаетесь. Но это очень-очень хорошо, так как путаница скоро закончится) Оповещение через "большое время" это не про события. События - это скорее про мгновенное оповещение и мгновенную реакцию на них. Например, у вас есть текстовое поле (пусть будет вес товара на рынке) и вы хотите выводить пользователю подсказку о том, что больше 40 кг продавать нельзя. Вы делаете событие на тот случай, когда пользователь вводит число, превышающее 40. Кто-то слушает это событие и при его получении показывает красную рамку или красное сообщение и т д.
      Или у вас какое-то сложное сетевое приложение, и вы видите, что вышел из строя какой-нибудь switch. Вы делаете событие и где-нибудь на форме мониторинга выводится оповещение оператору или высылается sms, например.
      Делегаты - это про делегирование. То есть нам нужно, чтобы логику выполнил кто-то извне. Например, расчёт процента для налога. У кого-то 13%, у кого-то 18% + дополнительная логика и т д.

  • @mikhailkhatuntcov1483
    @mikhailkhatuntcov1483 2 года назад +1

    По поводу вашего интро о трассе 60:
    т.е. изначально невыполниме событие - выполнимо? бред.
    Что если всеразрушающая сила столкнётся с не разрушаемым объектом?
    А так в целом всё чикипуки. Так держать!

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Вот мы и забрались в плоскость философии, а я так этого не хотел)) Не судите строго, через интро я пытаюсь немного снизить напряжение перед новой темой для слушателя.

    • @victorbelkov5346
      @victorbelkov5346 2 года назад +1

      Чувак, ты пытаешься найти смысл в шутливой отсылке к фильму, где упоминается событие. Тут про программирование, не про философию:) Цитаты это просто классная фишка автора

    • @ekve9
      @ekve9 2 года назад

      Что если всеразрушающая сила столкнётся с не разрушаемым объектом?
      Или ничего не произойдёт или будет бесконечное и бессмысленное противостояние.
      Если произойдёт иное, то либо сила была не такой уж "всеразрушающей", либо объект был не таким уж и "не разрушаемым".

    • @mikhailkhatuntcov1483
      @mikhailkhatuntcov1483 2 года назад

      @@ekve9 и всё же что будет?

  • @zergzerg4844
    @zergzerg4844 Год назад

    Я чето все-равно не понял. Разница в том что делегат может возвращать параметры а событие нет ?. По сути чтобы оба типа жду ссылку на метод извне и будут по своему обрабатывать данные, в зависимости какой метод в них записали. Но делегат я могу создать такого же типа void как событие зачем мне событие тогда нужно?

    • @codaza-channel
      @codaza-channel  Год назад

      В ролике я попытался объяснить концептуальное отличие между делегатами и событиями. Для каждой задачи есть своя абстракция. Если у вас есть модель события, зачем вы хотите использовать делегат в модели с событием? 🙂 Задумайтесь немного над этим вопросом. Вот другой пример: в переменной типа double мы можем хранить целочисленные значения типа integer, может попросить Microsoft убрать этот тип из dotnet? 😉 Вывод, к которому я подталкиваю, заключается в том, что необходимо брать правильную абстракцию подходящую под решение задачи.

    • @zergzerg4844
      @zergzerg4844 Год назад

      @@codaza-channel Спасибо за объяснение, подумаю на этим

  • @Stalker_911
    @Stalker_911 2 года назад

    Я так понимаю, что нужно стараться писать меньше функций и больше делегатов в коде?

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Нет, такой вывод неправильный. События, делегаты, методы, классы и т. д. - всё это различные инструменты, которые позволяют решать возникающие задачи. Все они должны применяться уместно. Не должно быть такого, что вы стараетесь применять что-то чаще, а что-то реже. Вы всегда должны задавать себе вопросы и давать на них ответы. Например:
      В действиях моего класса могут быть заинтересованы другие классы? Если да, то беру событие.
      Для работы моего метода потребуется внешняя логика? Если да, то беру делегат.
      Мой класс обязан знать логику расчета? Если да, то беру метод.

    • @Stalker_911
      @Stalker_911 2 года назад +1

      @@codaza-channel Спасибо, теперь начинаю понимать. И да, ваши видео, ОЧЕНЬ крутые.

  • @Bushido_Cat
    @Bushido_Cat Год назад

    Все очень интересно, но ничего не понятно

  • @kalobyte
    @kalobyte Год назад

    нихера не понял
    нет конкретного примера реализации, откуда берется событие хотя бы с кнопкой или как сделать событие при приходе инфы в сокет или в порт

  • @user-pb8ci6yq2n
    @user-pb8ci6yq2n 3 месяца назад +1

    С сотрудниками вообще не понятно, проще примеры надо.100 раз пересмотрел и не понял.

  • @user-ic1ns4ne8c
    @user-ic1ns4ne8c 2 года назад +1

    Вообще не понятно. Информация явно не для тех кто хочет понять что такое событие. Для тех кто уже знает это

    • @codaza-channel
      @codaza-channel  2 года назад +2

      Мне очень жаль, что видео не помогло Вам. Безусловно, для его просмотра необходимо обладать некоторыми знаниями о программирования и C# в частности. Ваш текущей уровень знаний мне неизвестен, поэтому сложно предположить, что именно вызывало у Вас проблему в понимании. Попробуйте вернуться к видео позже. Уверен, Вы всё же получите от него пользу в будущем 🙂

  • @it-tb8od
    @it-tb8od 5 месяцев назад

    Твою мать, даже такое объяснение не понял. Как-же туго идет эта тема, просто ужас.