C# Events События

Sdílet
Vložit
  • čas přidán 9. 07. 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

Komentáře • 126

  • @codaza-channel
    @codaza-channel  Před 2 lety +33

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

  • @user-in1xx7rs1z
    @user-in1xx7rs1z Před 10 měsíci +28

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

    • @user-iv3eh4hp3z
      @user-iv3eh4hp3z Před 9 měsíci

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

  • @chinchilla898
    @chinchilla898 Před 2 lety +90

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +8

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

  • @mestnq5553
    @mestnq5553 Před 2 lety +38

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

  • @user-hs3tk5pv2m
    @user-hs3tk5pv2m Před rokem +20

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

    • @codaza-channel
      @codaza-channel  Před rokem +2

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

  • @Olegcowboyoleg
    @Olegcowboyoleg Před rokem +5

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

  • @antonchesnokov9230
    @antonchesnokov9230 Před rokem +2

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

  • @alexanderdresvyansky8614
    @alexanderdresvyansky8614 Před 2 lety +5

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

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

  • @user-fv4rj6yh3i
    @user-fv4rj6yh3i Před 2 lety +25

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

  • @MimakaGamleT
    @MimakaGamleT Před rokem

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

  • @victorbelkov5346
    @victorbelkov5346 Před 2 lety +11

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

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

  • @user-wi1yu7pp6q
    @user-wi1yu7pp6q Před 2 lety +5

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

  • @michael_sss
    @michael_sss Před rokem +1

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

  • @enclave_knight
    @enclave_knight Před rokem +2

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

  • @SOUNDCHILL1704
    @SOUNDCHILL1704 Před 4 měsíci

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

  • @iGynLoD
    @iGynLoD Před rokem +2

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

  • @Stair777
    @Stair777 Před 2 lety +3

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

  • @mikkimorfin5406
    @mikkimorfin5406 Před 2 lety +1

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

  • @Enjoykian
    @Enjoykian Před 5 měsíci

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

  • @mastervolodsobeck5176
    @mastervolodsobeck5176 Před 2 lety +2

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

    • @codaza-channel
      @codaza-channel  Před 2 lety

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

  • @alexandrsavin2266
    @alexandrsavin2266 Před 8 měsíci

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

  • @NK-fy4mw
    @NK-fy4mw Před 2 lety +2

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

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

  • @ivanbazhanov
    @ivanbazhanov Před 2 lety +6

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

  • @user-fb5tn6yz5c
    @user-fb5tn6yz5c Před 6 měsíci

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

  • @vladoss4643
    @vladoss4643 Před rokem

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

  • @HeIvis
    @HeIvis Před 2 lety +2

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

  • @ekaterina6453
    @ekaterina6453 Před 2 lety +1

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

  • @kirillpetrov1424
    @kirillpetrov1424 Před 2 lety +1

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

  • @RYMediaProduction
    @RYMediaProduction Před 2 lety +1

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

  • @user-ey9gs2xk2e
    @user-ey9gs2xk2e Před 2 lety +2

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

  • @user-zv8qs3es7m
    @user-zv8qs3es7m Před 7 měsíci

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

  • @bennails3447
    @bennails3447 Před 11 měsíci

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

  • @kostenkoff
    @kostenkoff Před rokem +1

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

  • @user-bx4ui2me6m
    @user-bx4ui2me6m Před rokem +4

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

  • @user-nc8lm7ow3q
    @user-nc8lm7ow3q Před rokem

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

  • @shadow_wolfplay943
    @shadow_wolfplay943 Před 6 měsíci

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

  • @user-wt4gr3wn7j
    @user-wt4gr3wn7j Před 2 lety +1

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

  • @ellakamenetsky7742
    @ellakamenetsky7742 Před 11 měsíci

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

  • @user-ec4mt4wy1i
    @user-ec4mt4wy1i Před rokem +3

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

  • @lomshakov
    @lomshakov Před 2 lety +1

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

  • @user-yo7mw6oj4p
    @user-yo7mw6oj4p Před 2 lety +1

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

  • @user-gq8of6kd4r
    @user-gq8of6kd4r Před 2 lety +1

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

  • @niklp6116
    @niklp6116 Před 2 lety +1

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

  • @nikita6812
    @nikita6812 Před 2 lety +2

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

    • @codaza-channel
      @codaza-channel  Před 2 lety

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

  • @user-nw8sn5gf9e
    @user-nw8sn5gf9e Před rokem

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

  • @minimalstory
    @minimalstory Před 2 lety +1

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

    • @codaza-channel
      @codaza-channel  Před 2 lety

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

  • @firemanhood1526
    @firemanhood1526 Před 2 lety +1

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

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

  • @golibxayrullayev1353
    @golibxayrullayev1353 Před rokem +1

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

  • @iGynLoD
    @iGynLoD Před rokem

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

  • @bsist2413
    @bsist2413 Před 2 lety +2

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

  • @AzizjanAyupov_leo
    @AzizjanAyupov_leo Před rokem

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

  • @user-lx8xj8ke2f
    @user-lx8xj8ke2f Před 2 lety +1

    Здорово

  • @svyattp
    @svyattp Před 2 lety +1

    Годно!

  • @user-bz5kg2yw7m
    @user-bz5kg2yw7m Před 2 lety +2

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

  • @Lisiy_Lis
    @Lisiy_Lis Před 7 měsíci

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

  • @hulk3147426
    @hulk3147426 Před rokem +1

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

  • @trash.6
    @trash.6 Před rokem +1

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

  • @artmasterio1036
    @artmasterio1036 Před 2 lety +1

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

  • @fa3r714
    @fa3r714 Před 2 lety +1

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

  • @valentinkravchenko2217
    @valentinkravchenko2217 Před rokem +1

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

    • @codaza-channel
      @codaza-channel  Před rokem +2

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

  • @saldy723
    @saldy723 Před 2 lety +1

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

  • @-unity-
    @-unity- Před 2 lety +1

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

    • @codaza-channel
      @codaza-channel  Před 2 lety

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

  • @filiandun
    @filiandun Před rokem

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

  • @aleksey_peresvet
    @aleksey_peresvet Před rokem

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

  • @user-bh2ge1mu9x
    @user-bh2ge1mu9x Před 9 měsíci

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

  • @v.s.938
    @v.s.938 Před 5 měsíci

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

  • @ilyavoloshyk1411
    @ilyavoloshyk1411 Před 2 lety +6

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

    • @TheVelf
      @TheVelf Před 2 lety

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

  • @hmixa
    @hmixa Před rokem +2

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

  • @user-pg8ry1tm3t
    @user-pg8ry1tm3t Před 2 lety

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

  • @Olegcowboyoleg
    @Olegcowboyoleg Před rokem

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

  • @user-pg8ry1tm3t
    @user-pg8ry1tm3t Před 2 lety

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

  • @tomasgammister5776
    @tomasgammister5776 Před 2 lety

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

    • @codaza-channel
      @codaza-channel  Před 2 lety

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

  • @elmiravzalov5782
    @elmiravzalov5782 Před 2 lety

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

    • @codaza-channel
      @codaza-channel  Před 2 lety

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

  • @user-pg8ry1tm3t
    @user-pg8ry1tm3t Před 2 lety

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

  • @olexkov4643
    @olexkov4643 Před rokem

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

  • @GGamess
    @GGamess Před rokem

    ienumerable?

  • @pofoq
    @pofoq Před rokem

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

  • @paul.antares
    @paul.antares Před 2 lety

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +9

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

    • @paul.antares
      @paul.antares Před 2 lety +3

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

  • @Michaelovesyou
    @Michaelovesyou Před 11 měsíci

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

  • @dad912
    @dad912 Před rokem

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

  • @zergzerg4844
    @zergzerg4844 Před rokem

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

    • @codaza-channel
      @codaza-channel  Před rokem

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

    • @zergzerg4844
      @zergzerg4844 Před rokem

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

  • @Ogur4ikHrustit
    @Ogur4ikHrustit Před 2 lety +3

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +6

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

  • @GDrakula
    @GDrakula Před rokem

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

  • @mikhailkhatuntcov1483
    @mikhailkhatuntcov1483 Před 2 lety +1

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

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

    • @victorbelkov5346
      @victorbelkov5346 Před 2 lety +1

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

    • @ekve9
      @ekve9 Před 2 lety

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

    • @mikhailkhatuntcov1483
      @mikhailkhatuntcov1483 Před 2 lety

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

  • @korobok653
    @korobok653 Před 2 lety +1

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

  • @NikitaJe_
    @NikitaJe_ Před 10 měsíci

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

  • @NikitaJe_
    @NikitaJe_ Před 10 měsíci

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

  • @Stalker_911
    @Stalker_911 Před 2 lety

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +1

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

    • @Stalker_911
      @Stalker_911 Před 2 lety +1

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

  • @isagidaiki
    @isagidaiki Před 14 dny

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

  • @Bushido_Cat
    @Bushido_Cat Před rokem

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

  • @kalobyte
    @kalobyte Před rokem

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

  • @user-pb8ci6yq2n
    @user-pb8ci6yq2n Před 3 měsíci +1

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

  • @user-ic1ns4ne8c
    @user-ic1ns4ne8c Před 2 lety +1

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

    • @codaza-channel
      @codaza-channel  Před 2 lety +2

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

  • @AizarkLizard
    @AizarkLizard Před 2 dny

    Много воды. Даже на х2 скорости утомительно ждать когда наконец перейдут к делу

  • @it-tb8od
    @it-tb8od Před 5 měsíci

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