Делегаты (delegate) и события (event) в C# - Учим Шарп #15

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ม.ค. 2025

ความคิดเห็น • 115

  • @CODEBLOG
    @CODEBLOG  6 ปีที่แล้ว +19

    Статья, в которой расписана коллекция книг для изучения C#. Ссылка на архив с книгами В КОНЦЕ статьи, а в самой статье описан порядок прочтения. vk.com/@codeblog-c-podborka-obuchauschih-materialov-ot-novichka-do-profi

    • @vladimirmanzhula2730
      @vladimirmanzhula2730 4 ปีที่แล้ว +6

      а есть рабочая ссылка на архив?

    • @МаксимЖмачинский-т1ю
      @МаксимЖмачинский-т1ю 3 ปีที่แล้ว +4

      Статья удалена(, добавьте пожалуйста рабочую ссылку

    • @M1llenium
      @M1llenium 3 ปีที่แล้ว +3

      Добрый день. А есть список рабочий и на гугле, например. В Украине тяжко с контактом

  • @eugenekrutoy1475
    @eugenekrutoy1475 4 ปีที่แล้ว +20

    Я не могу сдержать эмоций! Я прямо чувствую как в моем мозге, образуются новые нейронные связи. Как же приятно смотреть эти видео!!! Еще раз спасибо!

  • @reHgoc
    @reHgoc 5 ปีที่แล้ว +23

    мне очень нравятся метафоры, которые ты употребляешь (про бытовой уровень), так становится гораздо яснее, спасибо за урок!

    • @CODEBLOG
      @CODEBLOG  5 ปีที่แล้ว +4

      Рад помочь )

  • @rustamkhalilov5717
    @rustamkhalilov5717 ปีที่แล้ว +1

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

  • @v0s7er
    @v0s7er 4 ปีที่แล้ว +46

    Для понимания я представил делегат в своей голове так: есть методы - почистить зубы, заправить кровать, расправиться кровать, поесть, собираться на работу. И мы можем просто создать два делегата: утро и вечер, добавляя туда соответствующие методы. И то есть нам не нужно вызвать все методы, мы просто вызывает один делегат, поэтому все наши методы, которые мы в него поместили - выполнятся.

    • @АндрейВарин-р4г
      @АндрейВарин-р4г 2 ปีที่แล้ว +2

      А они случаем не должны иметь одинаковую сигнатуру?

    • @ОбычныйАккаунт-е4я
      @ОбычныйАккаунт-е4я 2 ปีที่แล้ว +2

      @@АндрейВарин-р4г должны

    • @benjaminBTN
      @benjaminBTN ปีที่แล้ว

      @@АндрейВарин-р4гв сигнатуру подставляешь себя, и тогда именно ты чистишь зубы, заправляешь кровать и т.д.

  • @ВиталийСучков-у9о
    @ВиталийСучков-у9о 4 ปีที่แล้ว +3

    Красавчик ! Ты единственный кто доходчиво объяснил делегаты. Спасибо.

  • @Imperion25
    @Imperion25 4 ปีที่แล้ว +5

    Большое спасибо за уроки! Все очень доходчиво и понятно объясняете. К примеру на делегатах и событиях у другого преподавателя я 4 раза пересматривал его видеоуроки, ничего не понял, затем пошел читать Эндрю Троелсона об этом, там вообще так написано, что я ни слова не понял, затем на Metanit отправился, там более менее внятно и понятно было. А здесь, я прям постиг всю сущность делегатов и событий ). Действительно, очень все понятно теперь и уже не так страшна эта тема для меня. Спасибо!

  • @alvoltta
    @alvoltta 4 ปีที่แล้ว +22

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

    • @ГеоргийЧупин-в1е
      @ГеоргийЧупин-в1е 4 ปีที่แล้ว +3

      оо я думал я один такой)

    • @eugenekrutoy1475
      @eugenekrutoy1475 4 ปีที่แล้ว +2

      @@ГеоргийЧупин-в1е оо, поверь, ты не один!

    • @yriktop5756
      @yriktop5756 4 ปีที่แล้ว +5

      А я с первого раза ну вот интерфейсйс раза с 4

  • @dabroful
    @dabroful ปีที่แล้ว +1

    Вадим, спасибо вам за то, что вы сделали

  • @69rus42
    @69rus42 ปีที่แล้ว

    Первый человек на ютубе, которого слушаю на скорости 2.0

  • @huck_pro
    @huck_pro 3 ปีที่แล้ว +3

    спасибо тебе Вадим без это-го курса я бы не знал основы с# :)))

  • @Yury93-b8n
    @Yury93-b8n 3 ปีที่แล้ว +2

    Смотрю и пересматриваю. Лайки ставлю) спасибо за уроки💪🏻
    Вообще святой человек) такие уроки и бесплатные))))

  • @mammadovrashad339
    @mammadovrashad339 2 ปีที่แล้ว

    Ты просто красавчик. Была проблема с делегатами, но после просмотра занятия, вник! 🔥

  • @8stwd
    @8stwd 2 ปีที่แล้ว +1

    Очень помогают ваши видео в обучении. Привет из 2022 ✌️

  • @Dmitriy-k2z
    @Dmitriy-k2z 4 ปีที่แล้ว +1

    Спасибо за курсы, Вадим!!! Окончательно "въехал" в события.
    P.S.: Что-то навеяло... в конце декабря 2018 года был в Курске. А буквально через год, транзитом через Украину, уже в Чехии. Жизнь она такая. Успехов тебе во всем. Удачи.

  • @stanlygetz9616
    @stanlygetz9616 5 ปีที่แล้ว +2

    Спасибо за отличные уроки!Очень доходчиво и понятно объясняете!

    • @CODEBLOG
      @CODEBLOG  5 ปีที่แล้ว

      Всегда пожалуйста )

  • @Keeytari
    @Keeytari 6 ปีที่แล้ว +7

    Топовые уроки! Приятно тебя слушать!

    • @CODEBLOG
      @CODEBLOG  6 ปีที่แล้ว +2

      Спасибо )

  • @alexivanov8239
    @alexivanov8239 3 ปีที่แล้ว

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

  • @ilyanaumov4251
    @ilyanaumov4251 3 ปีที่แล้ว +2

    Огромное спасибо, всё стало понятно. До этого видео читал Рихтера, чуть в петлю не полез)

    • @alazarn7
      @alazarn7 3 ปีที่แล้ว

      рихтера читают те, которые знают язык

  • @KOCadm
    @KOCadm 5 ปีที่แล้ว +1

    Супер! только туту я понял быстро суть по этой теме! Спасибо!

  • @Vladimir___M
    @Vladimir___M 4 ปีที่แล้ว +2

    Спасибо за уроки, хорошо помогают разобраться в программировании :)

  • @aleksandercross5936
    @aleksandercross5936 5 ปีที่แล้ว +2

    Спасибо вам большое, вы доступно объясняете!

    • @CODEBLOG
      @CODEBLOG  5 ปีที่แล้ว

      Всегда пожалуйста )

  • @nerub9690
    @nerub9690 4 ปีที่แล้ว +1

    Спасибо, наконец-то понял что за ивенты используются в GameMaker b Unity))

  • @andy_top6676
    @andy_top6676 ปีที่แล้ว

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

  • @CODEBLOG
    @CODEBLOG  6 ปีที่แล้ว +4

    На этом занятии мы познакомимся с событийной моделью в языке программирования C#. Мы узнаем, что такое делегат (delegate), что такое событие (event), как они связаны и чем отличаются. Также научимся создавать обработчик события (handler), подписывать и отписывать обработчик события, передавать информацию о событии с помощью аргументов (event args).

  • @kn0ww641
    @kn0ww641 ปีที่แล้ว +1

    1:30:00 Следующая тема - потоки

  • @musheghsahakyan8857
    @musheghsahakyan8857 5 ปีที่แล้ว +2

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

    • @CODEBLOG
      @CODEBLOG  5 ปีที่แล้ว

      Всегда пожалуйста )

  • @qwerty89993
    @qwerty89993 ปีที่แล้ว

    Спасибо вам большое

  • @eugenekrutoy1475
    @eugenekrutoy1475 4 ปีที่แล้ว

    Спасибо! Ибо спас ты меня, моя самая больная тема!!!!!

  • @someonewhoyoudontknowiguess
    @someonewhoyoudontknowiguess 6 ปีที่แล้ว +2

    Наконец-то ёлку донарядил!

  • @1200eojf
    @1200eojf 2 ปีที่แล้ว

    Уроки топ спасибо вам

  • @alexcafpir8166
    @alexcafpir8166 5 ปีที่แล้ว

    Данное видео, самое лучшее объяснение, что такое Делегат!!! Из просмотренных мной.
    Пытаясь понять, что это за штука такая пересмотрел несколько объяснений от разных авторов которые начинают городить куй знает чего, когда ты понимаешь, что ни хера не понимаешь 🤷‍♂️🤦‍♂️. А ведь все очень просто из объяснений тут понял, что при вызове этого делегата исполняется некий список\очередь из разных методов (совпадающих по сигнатуре), которые можно туда добавить или удалить по мере надобности 👍
    Немногу критики:
    у автора немного с написанием проблемы, начнет писать, потом исправит, потом зачеркнет, потом вообще удалит и напишет совершенно по другому...😂

    • @CODEBLOG
      @CODEBLOG  5 ปีที่แล้ว +3

      У меня просто с многозадачностью не очень хорошо, особенно в начальных стримах было. Нужно и говорить, и думать что говорить, и писать... не такая простая задача, как может показаться ) ну а то, что смог объяснить делегаты - очень рад :)

    • @catdog_ussr317
      @catdog_ussr317 4 ปีที่แล้ว

      Зато Вадим пишет "вживую"! И именно это ценно!

    • @alexcafpir8166
      @alexcafpir8166 4 ปีที่แล้ว

      @@catdog_ussr317 когда как, иногда короткий гайд где все по четко без воды удобней чем сидеть 1-2 часа, у меня лично терпения не хватает...😅

  • @ОбычныйРандом
    @ОбычныйРандом 2 ปีที่แล้ว

    Благадарю

  • @JustEnergyFlow
    @JustEnergyFlow 2 ปีที่แล้ว

    Благодарю

  • @maksim3281
    @maksim3281 4 ปีที่แล้ว +1

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

    • @OpalGooDog
      @OpalGooDog 3 ปีที่แล้ว

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

  • @rbay6961
    @rbay6961 4 ปีที่แล้ว +2

    Здравствуйте. А скажите: есть ли какой-либо майт, ка котором можно найти достаточное количество практических заданий?

    • @essanger7818
      @essanger7818 4 ปีที่แล้ว

      Докуя заданий. Есть ещё metanit.com

  • @kipneer3879
    @kipneer3879 3 ปีที่แล้ว

    Как при ошибке написания например имени поля, не стирать всё имя, а продолжить печатать с интелисенсом? У меня при нажатие backspace подсказка не появляется. На 1:10:10, где-то так, Вадим нажимает на клавишу, и подсказка появляется. Заранее спасибо)

    • @omoloni
      @omoloni 3 ปีที่แล้ว

      ctrl+пробел

    • @kipneer3879
      @kipneer3879 3 ปีที่แล้ว

      @@omoloni, спасибо тебе большое)

  • @Veyron104
    @Veyron104 3 ปีที่แล้ว

    Нормальная камера была) её просто можно справа поставить, пусть чат закрывает) хотя он лишний в записи, но даже если его не будет, то можно держать камеру в правой стороне, нам же не нужен "Обозреватель решений"

  • @АбсолютноеЗло-д1и
    @АбсолютноеЗло-д1и 5 ปีที่แล้ว +7

    Вы не правильно используете класс Random. Random это генератор последовательности псевдослучайных чисел завязанный на данный момент времени. Из-за того, что при каждом обращении вы вызываете его заново он отдаёт вам то же самое первое число. Потому все значения одинаковые. Вместо этого нужно создать отдельный экземпляр класса Random и каждый раз обращаться к этому конкретному экземпляру. В этом случае при каждом обращении к нему счётчик будет прокручиваться и значения будут разные.

  • @cokolol3049
    @cokolol3049 ปีที่แล้ว +1

    53:13

  • @murodaliismailov2503
    @murodaliismailov2503 2 ปีที่แล้ว

    Вопроc можно ли служать с помощью event изменение базу данных?

  • @kalobyte
    @kalobyte 4 ปีที่แล้ว

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

  • @ВладимирЛысенко-о4и
    @ВладимирЛысенко-о4и 4 ปีที่แล้ว

    Здравствуйте Вадим! Спасибо за видео по такой сложной теме. Скажите можно ли с помощью делегатов и событий реализовать счетчики по типу(трёхразрядный двоичный счетчик;четырехразрядный десятичный счетчик; или же счетчик даты типа "месяц,год")? Заранее спасибо!

  • @DmitryDolganov
    @DmitryDolganov 5 ปีที่แล้ว

    Спасибо!

  • @СергейПо-х2и
    @СергейПо-х2и 3 ปีที่แล้ว

    26:39 Не "в этот же делегат" А в другой экземпляр делегата Того же типа (type Delegate) 1:12:38 Событие без делегата или (авто делегат)

  • @NOSOKTVOFFICIAl
    @NOSOKTVOFFICIAl 6 วันที่ผ่านมา +1

    Привет народ подскажите у кого на Ютубе есть годные уроки по Юнити?

  • @ЕвгенийИванов-я7я9е
    @ЕвгенийИванов-я7я9е 4 ปีที่แล้ว +2

    Вы тоже на 43:40 - 44:25 прочувствовали, как ваше сознание расширяется со вселенской скоростью?)

  • @Iamflip6
    @Iamflip6 4 ปีที่แล้ว

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

  • @ymts_vladyslav3707
    @ymts_vladyslav3707 4 ปีที่แล้ว

    Сложная конечно тема , смотрел у других ютуберов (где то 4 видео) , но не понимал куда пихать эти делегаты, куда пихать события, все пихают в разные места , но не туда куда нужно. Вся тема стала понятной ТОЛЬКО на университетском примере "ping-pong"

  • @Sergioshe
    @Sergioshe 4 ปีที่แล้ว

    Спасибо

  • @andrey_khrulkov
    @andrey_khrulkov 4 ปีที่แล้ว

    Как проверить, что делегат уже подписан на метод и не подписать повторно? Можно код проверки?

  • @Анатолий-м9к4ч
    @Анатолий-м9к4ч 3 ปีที่แล้ว

    Скажите, пожалуйста, какую из этих книг (в самом начале) прочитать самой первой?

    • @olegpogorelov5223
      @olegpogorelov5223 3 ปีที่แล้ว +1

      Почитай Шилдта и будет тебе счастье )

  • @agentsmit09
    @agentsmit09 4 ปีที่แล้ว

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

    • @sdfsdfsdfsdf2712
      @sdfsdfsdfsdf2712 3 ปีที่แล้ว

      везде так и написанно. Ты просто тупой гуманитарй и программироание это не твое.

  • @zloyenot3989
    @zloyenot3989 5 ปีที่แล้ว +1

    зачем нужны события? Можно же просто использовать функции? Или я что-то не понял?

  • @giorgigogeishvili8397
    @giorgigogeishvili8397 5 ปีที่แล้ว

    Perfect. მაგარია !

  • @klaxwork1208
    @klaxwork1208 3 ปีที่แล้ว

    А в каких случаях используются делегаты?

  • @СергейСуровцев-е2й
    @СергейСуровцев-е2й 2 ปีที่แล้ว

    Если бы возвращаемое значение было бы первым, было бы невозможно определиться - это возвращаемое значение без аргумента, или аргумент без возвращаемого значения

  • @cors1k495
    @cors1k495 5 ปีที่แล้ว +1

    Где можно посмотреть код из этого урока?

    • @CODEBLOG
      @CODEBLOG  5 ปีที่แล้ว

      К сожалению видимо этот урок я забыл опубликовать на github. Мой косяк, извиняйте :(((

  • @cyberdeo6354
    @cyberdeo6354 3 ปีที่แล้ว +2

    блин на скорости 1,5 твой говор кажется обычным, чем на обычной скорости

  • @nomercy1566
    @nomercy1566 4 ปีที่แล้ว

    Ребята помогите оболтусу! Как сделать кнопку сброса всех событий в программе, так чтобы она вернулась в исходное положение, как будто её только запустили!
    За ранее огромное спасибо!!!

    • @agentsmit09
      @agentsmit09 4 ปีที่แล้ว

      Это тебе товарищ на www.cyberforum.ru или StackOverflow с такими вопросами обращаться

    • @nomercy1566
      @nomercy1566 4 ปีที่แล้ว

      @@agentsmit09 спасибо большое,уже разобрался😊

  • @matrix-u1n
    @matrix-u1n 5 ปีที่แล้ว +1

    искал анонимные методы,но знаете что"Искал медь но нашел золото"

  • @ИванКомаревич-е1т
    @ИванКомаревич-е1т ปีที่แล้ว

    Как по мне то это просто массив указателей на ф-и если проводить паралель с с++🤔

  • @d2life362
    @d2life362 5 ปีที่แล้ว

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

    • @CODEBLOG
      @CODEBLOG  5 ปีที่แล้ว +2

      в будущем я планирую сделать более короткие видео по отдельным темам и более простыми объяснениями

    • @АлексДжаванов
      @АлексДжаванов 5 ปีที่แล้ว

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

  • @A1xarT
    @A1xarT 4 ปีที่แล้ว +1

    7:03 :)))

    • @denemy
      @denemy 4 ปีที่แล้ว

      ^_^

  • @kodersurocecode267
    @kodersurocecode267 5 ปีที่แล้ว +1

    я не знаю где это можно применить, можно дз?

    • @CODEBLOG
      @CODEBLOG  5 ปีที่แล้ว

      На начальном этапе это встречается не так часто, пока, будет достаточно просто знать, что они есть )) потом как-нибудь сделаю обязательно практическое видео по применению

  • @AN-ts4rf
    @AN-ts4rf 4 ปีที่แล้ว

    a Lesson15 на гитхабе не нашел

  • @ambassadorcherta7615
    @ambassadorcherta7615 3 ปีที่แล้ว

    Где Домашнее задание?

  • @KirillCheremisin
    @KirillCheremisin 4 ปีที่แล้ว

    монитор в монитор)

  • @Lorienl2master
    @Lorienl2master 3 ปีที่แล้ว

    у 21 людей будут темки

  • @5111
    @5111 4 ปีที่แล้ว

    Про домашку забыл 😂

  • @ВиталийПалкин-т1и
    @ВиталийПалкин-т1и 4 ปีที่แล้ว

    У Вас рандом тупо не успевает получить новое число

    • @A1xarT
      @A1xarT 4 ปีที่แล้ว

      Может он просто один раз вызывается?

  • @ivanomelchenko1895
    @ivanomelchenko1895 4 ปีที่แล้ว

    +++

  • @kdenisinfo
    @kdenisinfo 2 ปีที่แล้ว

    Очень хоршая работа от человека из новой з-еландии с 25+ летним опытом разработки c++/c#

  • @pluralsightrus723
    @pluralsightrus723 4 ปีที่แล้ว +1

    вот еще классные уроки th-cam.com/video/uWrpOubayUI/w-d-xo.html

  • @АристархЗловредович
    @АристархЗловредович 4 ปีที่แล้ว

    Ты либо рассказывай ,либо отвечай на тупые вопросы в чатике. Очень раздражает такой формат подачи материала.

    • @OpalGooDog
      @OpalGooDog 3 ปีที่แล้ว

      Вопросы которые не раскрыты в коде, могут быть полностью раскрыты в ходе ответов на вопросы, не все думают одинаково

    • @АристархЗловредович
      @АристархЗловредович 3 ปีที่แล้ว

      @@OpalGooDog Были бы вопросы еще по теме и умные то это бы так сильно не раздражало .