Удобная навигация по видео :) 0:00 - Начало 0:57 - Механика delegate 2:17 - Применение delegate 5:06 - Анатомия объявления delegate 7:06 - Пример: C# делегат без параметров 8:05 - Пример: C# делегат c параметрами 8:57 - Виды делегатов 9:20 - Пример: Multicast делегат 10:22 - Пример: Анонимные методы 11:09 - Пример: C# делегат в качестве параметра 11:39 - Live example: Практический пример применения делегатов 17:34 - Завершение
@mrcolter3 жыл бұрын
Можно ссылку на github с примером библиотеки, чтобы посмотреть как работает через отладчик
@codaza-channel3 жыл бұрын
@@mrcolter Конечно. Вот ссылка: github.com/codaza/StockOnliner
@mrcolter3 жыл бұрын
@@codaza-channel Спасибо :з
@ВладимирБалашиха2 жыл бұрын
@@codaza-channel Огромное вам СПАСИБО!! Вы реально объясняете лучше всех на ЮТУБ!!!
@ВладимирБалашиха2 жыл бұрын
@@codaza-channel Огромное вам СПАСИБО!! Вы реально объясняете лучше всех на ЮТУБ!!! Вот что значит РЕАЛЬНЫЙ УЧИТЕЛЬ!
@HelSocol3 жыл бұрын
Предложение по разъяснению паттернов с примерами очень поддерживаю.
@paveltarasov1127 Жыл бұрын
Жаль что ты престал выпускать ролики. Твои обучающие видео по C# лучшее, что я встречал на ютуб. Все просто и понятно
@akretcakretsx46248 ай бұрын
жаль что ты олень и никогда ничему не научишься
@КонстантинСивков-п4в2 жыл бұрын
Урок который можно посмотреть даже уставшим после трудового дня и понять все с первого раза. Никакой тягомотины. Большое спасибо!
@codaza-channel2 жыл бұрын
💙
@lordjy3817 Жыл бұрын
@@dabradax9117 мне тоже интересно
@SalvatoreStuart Жыл бұрын
и заснуть
@SuperAnonymousViewer4 ай бұрын
@@codaza-channelпожалуйста вернись
@МаксимМакаров-л5т3 жыл бұрын
в таком же ключе нужно про события. что значат хэндлер, аргс, сендер, е и т.д. З.Ы. постараюсь все видео коментить что бы поднять вас в рекомендациях, т.к. вы правы - формат объяснения очень хорош.
@codaza-channel3 жыл бұрын
Большое спасибо за поддержку! Комментарии к роликам действительно очень помогают. Делаю спойлер, видео про события выйдет уже в эту субботу :)
@ДэннисАрабалеев2 жыл бұрын
Автор ты огромный молодец, как же мне было приятно смотреть это видео, все так понятно, хорошая громкость голоса, музыка на фоне, все так лампово, в общем очень круто спасибо!
@codaza-channel2 жыл бұрын
Рад, что материал оказался полезным. Благодарю за отзыв 💙
@thepetyan89023 жыл бұрын
Блин, то что я искал, очень здорово. Просьба к автору, не забрасывай канал, все видео познавательные и на русском! Серьезно, брал курс на Udemy, чтобы разобраться в делегатах, так там 2 часа разжовывали незнамо что, а тут все быстро, понятно, по делу и бесплатно!
@codaza-channel3 жыл бұрын
Это классно! Я очень рад, что информация в ролике помогла осмыслить делегаты лучше. Не забудьте посмотреть ролик про события (events) для полноты картины :) Спасибо за комментарий! Впереди много интересного.
@nutvismunt7 ай бұрын
@@codaza-channel куда же делось это впереди(
@Maliorz2 жыл бұрын
Какая же годнота! Для особей со ступором мозговины, вроде меня, это просто какое-то спасение. Всё разжевано и визуализировано. Спасибо, чел, это топ контент.
@sharlotkins2 жыл бұрын
Очень редко комментирую видео, но ваше вызвало у меня восторг. Спасибо большое за работу, стало действительно всё понятно!
@lolminevgm62792 жыл бұрын
Очень жду новых видео,ибо объяснения на идеальных примерах и разъясняется ëмко,понятно и по факту!💗
@kaydjenravner4363Ай бұрын
лучшее обьяснение которое я когда либо видел
@SobachkaPes5 ай бұрын
Тесак очень вежливо поясняет за делегаты на С#
@chinchilla8983 жыл бұрын
Большое спасибо! Очень подробное и доступное объяснение 👍
@Deatrockerz2 жыл бұрын
Видео отличное, очень правильно и качественно сделано. Разве что могу добавить - если новичку сложно освоить делегаты и события шарпа, а также передачу аргументов по ссылке (ref, out) - изучите указатели в Си. когда умеешь работать с указателями, понимаешь что такое эти все делегаты, что такое передача по ссылке и откуда у этого ноги растут.
@ellakamenetsky7742 Жыл бұрын
Слушать Ваши уроки - одно удовольствие. И даже когда знаешь материал,- все равно находишь для себя что-то новое. Спасибо за Ваш профессионализм и хорошую подачу материала.
@-unity-3 жыл бұрын
Прекрасная подача материала. Мне очень нравится такое. Заранее подготовленный сценарий, без всяких там: "а чё я хотел сказать? эээ.... ммм... ну да! а... нет". Тщательно составленная графика, ничего лишнего. Единственное, я бы фоновую музыку сделал чуть потише. И в конце рост громкости слишком уж взрывной, помягче бы. Но это на будущее, конечно же. Лайк, безусловно!
@codaza-channel3 жыл бұрын
Кирилл, спасибо за обратную связь. Обязательно учту в будущих роликах. 👍
@dclxviclan2 жыл бұрын
Крутой ролик, весьма понятно, документация больше запутывала, конечно и в ней можно взять информацию, но там больше академически и строго в терминологии, да еще и английские термины незнакомые переводишь и зачастую получаешь не совсем тот смысл в предложениях, благодарю вас, вы делаете отличную работу 👍
@partymakerplay1483 жыл бұрын
клёвая, приятная подача :) желаю быстрого развития канала!
@codaza-channel3 жыл бұрын
Благодарю за комментарий и спасибо за пожелания! :)
@CyberYurius3 жыл бұрын
Шикарно, просто шикарно! Наконец то, спустя дня поисков и просмотров скучных роликов, я нашел действительно подробный и приятный урок. Спасибо вам! Желаю вашему каналу миллионы подписчиков!
@codaza-channel3 жыл бұрын
Рад, что информация оказалась полезной. Благодарю за комментарий и поддержку! Впереди много интересного.
@unknyver11 ай бұрын
На удивление просто и понятно разобрал, долго не мог въехать в эту тему. Спасибо автору :)
@konstantinleontyev4525 Жыл бұрын
Возможно одно из самых качественных виде о программировании которое я видел в сети!
@SALOway2 жыл бұрын
Забавно. На середине видео захотелось подписаться, спустился под видео и обнаружил, что я так-то уже подписан)
@SALOway2 жыл бұрын
А, так я еще и комментарий писал)
@dec1ne7712 жыл бұрын
Одно из самых лучших объяснений, которые я когда либо видел в своей жизни, спасибо тебе большое за твои видосы, благодаря тебе, во многих аспектах стал лучше ориентироваться
@codaza-channel2 жыл бұрын
Спасибо за комментарий. Рад, что информация оказалась полезной 🙂
@GGamess Жыл бұрын
год назад смотрел видео, теперь пересматриваю😂 все формулировки помню и про банк оф америка
@FourDollarBill2 жыл бұрын
Огромнейшее спасибо Вам за труды.
@ИванПшеницын-н6ь2 жыл бұрын
Суперсодержательный видос четко по теме с практическим примером. Браво автору канала!
@alekseisinitski77042 жыл бұрын
Круто, очень круто. Все объясняется простым и понятным языком, очень доходчиво. Автору желаю успехов, побольше подписчиков и динамического развития канала. Подписка!
@codaza-channel2 жыл бұрын
Рад, что ролик понравился. Благодарю за комментарий 👍
@niklp61162 жыл бұрын
Буду пересматривать по очереди с events, пока всё не отложится в голове спасибо
@MrAgilator3 ай бұрын
Благодарю за труды! Прекрасная работа на благо людей!
@tey-eur2 жыл бұрын
Ппекрасные объяснения, уверен у канала огромное будушее
@АртемКалініченко-ж3н4 ай бұрын
Очень интересное и полезное видео. Спасибо!
@SwenOwn2 жыл бұрын
Классно сделано, вот бы еще рассказали, зачем нужны делегаты 😉 Смотрел кучу роликов и нигде нормально об этом не говорится. Сделайте сравнение с другими вариантами, что ли. Или пример, где видно, что по-другому не решить. А здесь - нажали на кнопку, вызвали метод по ссылке. И? Можно нажать кнопку и вызвать метод без ссылки. В чем прикол?
@zagites77632 ай бұрын
Прикол в универсальности делегатов. Их можно объявлять с каким угодно типом, и не привязываться к жестко закоденой функции. Взял делегат, на его основе подогнал какой-то рандомный метод и готово. Насколько я понимаю, использование делегатов делает код намного прозрачнее и проще для расширения (тут надо про принципы SOLID помнить).
@SwenOwn2 ай бұрын
@@zagites7763 проблема в том, что нет удачных примеров. Все те, что есть, позволяют достигать цели без делегатов. Нашел одно объяснение, которое устроило меня - для достижения цели вам нужно подряд вызвать несколько методов. Можно их объединить в одно действие с использованием делегата. Очень удобно для тестирования.
@SALOway2 жыл бұрын
Вот чего чего, а многим видео по программированию не хватает жизни, движения. Именно по этому я радуюсь каждый раз, как вижу видео, в котором повествование и картинка идут паралельно, дополняя друг друга
@chinchilla8983 жыл бұрын
Тема Design Patterns интересна! Будем ждать)
@rimfootbal449010 күн бұрын
ХЕРА СЕ КРУТА!!!ПОНРАВИЛОСЬ ОСОБЕНО С АКЦИЯМИ!
@pulsar19342 жыл бұрын
Большое вам спасибо!)
@voffkaboo71832 жыл бұрын
было бы круто, если бы вы рассказали про шаблоны проектирования, спасибо!
@nowar83792 жыл бұрын
Наконец-то допер..Спасибо за видео,приятно слушать. Музыка в тему,в стиле Птушкина из его путешествий)
@codaza-channel2 жыл бұрын
Благодарю за комментарий. Рад, что понимание пришло в уходящем году 🙂 С наступающим! 🎄
@НаталіяПопелишко2 жыл бұрын
Прекрасный формат рролика! Спасибо! +подписчик
@tigranavagyan5922 Жыл бұрын
Огромное тебе спасибо. Всё доступно и интересно было подано. 👍
@ЮрийВолошин-е8ъ2 жыл бұрын
Автор большой красавчик)
@vitalijerin34095 ай бұрын
отличная подача. четко и по делу. музыка, примеры 5+
@zakgard91542 жыл бұрын
Так вот оно что, автору большое спасибо за объяснение!
@andreihuk68702 жыл бұрын
Объяснение на высшем уровне, спасибо автору!
@Olegcowboyoleg Жыл бұрын
Твою дивизию, автор, нереально круто. Читал книжки, смотрел видяхи, но понять смысл делегатов не мог. Мог, но чего-то не хватало. .
@МаксимПирожков-ы3т Жыл бұрын
Спасибо за видео. Лучшее объяснение по делегатам.
@ivs132 жыл бұрын
Топовое объяснение
@codaza-channel2 жыл бұрын
💙
@Анастасия-р2г4е2 жыл бұрын
Спасибо большое! Очень доступная и грамотная подача)
@Георгий-ь6с Жыл бұрын
Очень хорошие объяснения, впервые узнал для себя, что делегаты бывают много-фунциональными (MultiCast) и раньше не видел new() без имени класса.
@ОлегСысоев-т6о Жыл бұрын
Спасибо за видео. В качестве предложения можно снять дополнительное видео про делегаты с параметризацией, а так же про делегаты func и action
@Polmorelo2 жыл бұрын
очень качественное объяснение, спасибо огромное
@VItoSRostov Жыл бұрын
урок интересный, спасибо, разобрался с делегатами. Вот что хотел сказать, проблема всех объяснений классов, делегатов и прочего, что не понятно для чего это нужно. вот в уроке объяснили для чего делегаты и в конце смотришь такой блин создали класс и прочее, но можно же было обойтись одной функцией и для новичка это выглядит нелепо
@mrshark67657 ай бұрын
Спасибо, невероятно полезно! :D
@yar97212 жыл бұрын
Очень качественное видео, желаю продвижения на ютубе)
@amyst822 жыл бұрын
Спасибо очень интересно и понятно дай бог автору здоровья
@BorisAverin2 жыл бұрын
Очень нравится твой канал Борис)
@jameslong13372 жыл бұрын
Видео топчик, ты один делаешь на ютубе такое. Продолжай!
@codaza-channel2 жыл бұрын
Рад, что ролик оказался полезным 🙂 Спасибо за комментарий 👍
@Сергей-к6и1п2 жыл бұрын
Отличная работа! Не останавливайтесь!
@codaza-channel2 жыл бұрын
Благодарю за поддержку!
@kazarovroman3 жыл бұрын
Как всегда качественный контент!
@Nogastik2 жыл бұрын
Молодцом! Оч. приятно слушать :]
@YevhenOstrovskiy2 жыл бұрын
Спасибо за видео) Было б неплохо узнать о свойствах get; set
@hamilt2 жыл бұрын
Да, было бы интересно услышать про шаблоны проектирования
@tupoy_ytub_uberi_psevdonim7 ай бұрын
Спасибо за такие видео
@ekaterina64532 жыл бұрын
Большое спасибо. Действительно, тут стало понятно 😅 почти день ковыряния на метаните, но понятно стало у Вас. Я конечно, не Иван и даже не Борис, но лайк поставила
@codaza-channel2 жыл бұрын
Всегда пожалуйста. Очень рад, что рубрика "тут станет понятно" отвечает своему названию 🙂 Поcмотрите еще ролик про события (events): kzbin.info/www/bejne/pXXYlJqgZq93hrM Я думаю, по горячим следам, это будет на пользу. Темы делегатов и событий понятийно очень переплетены и их стоит сразу осознавать вместе.
@ekaterina64532 жыл бұрын
@@codaza-channel единственное, магией для меня осталась работа свойства public PriceChange PriceChangeHandler { get; set; } но про их работу я не нашла у вас видео, пойду перечитывать метанит ) Но про события уже смотрю и разбираю )
@codaza-channel2 жыл бұрын
Да, про свойства пока нет ролика на канале. Но если говорить о свойствах супер кратко, чтобы вы сразу же поняли суть, то свойство - это способ задать переменную класса извне (например, из метода Main). То есть, может быть свойство в котором мы задаём целочисленную переменную (например, пусть будет вес человека): public int HumanWeight { get; set; } А может быть свойство где мы задаём ссылку на метод (как в примере из ролика): public PriceChange PriceChangeHandler { get; set; } То есть, переводя на человеческий язык, через свойство PriceChangeHandler, мы из метода Main, говорим объекту класса StockExchangeMonitor следующее: У меня есть метод ShowPrice() и этот метод как раз совпадает с сигнатурой делегата PriceChange, сохрани его у себя в свойстве PriceChangeHandler, чтобы ты (StockExchangeMonitor) мог его вызвать, когда посчитаешь нужным.
@sayli21892 жыл бұрын
Ооочень понятное объяснение
@aln7485 Жыл бұрын
Хорошая подача материала, спасибо. Хотел узнать о делегатах и узнал.
@pofoq Жыл бұрын
Первое видео, которое Я посмотрел на этом канале! Подписываюсь!
@essentia9Ай бұрын
Пришлось смотреть дважды, чтобы вкурить, но прикольно. Передаешь свою функцию с параметром в класс, и этот класс тебе в параметр насыпает значение
@annak91292 жыл бұрын
Пояснение то годное, но такой вопрос: чем чужд простой вызов метода? Будь то статический или нестатический? Почему выгоднее присваивать делегату метод и так вызывать нужный? Проще же по сути без них.
@codaza-channel2 жыл бұрын
Да, без них проще, но я уверяю вас, что с ростом опыта Вы осознаете, что их появление в языке - необходимость, которая упрощает разработку программного обеспечения. Например, событийная модель невозможна без делегатов (рекомендую посмотреть ролик про события на канале: kzbin.info/www/bejne/pXXYlJqgZq93hrM). Разработка библиотеки, которая не должна зависеть от кода, который её использует - трудно реализуемая задача без применения делегатов. Реализация многих абстракций требует использования делегатов, чтобы избежать "жёсткой связи" с внешним кодом. Если вы начинающий разработчик, я предлагаю вам опустить эту тему на некоторе время и двигаться дальше. Вы неминуемо будете сталкиваться с делегатами в самых разных контекстах. Через очень короткое время, пазл сложится 🙂 Вы в любое время можете писать комментарии под роликом и я постараюсь прояснить недостающие элементы в вашей картине восприятия. Но, прямо сейчас, если ваш уровень понимания не очень высок, стоит просто продолжить движение вперёд.
@sparx1432 жыл бұрын
крутой контент, спасибо! Работаю программистом, ничего не знаю, но лутаю 100к. Все благодаря твоим видосам!
@my_name83722 жыл бұрын
Где работаешь ? Интересно я тоже сейчас учусь думаю на работу устроиться
@Re-tj8bt2 жыл бұрын
Очень крутое объяснение. Спасибо большое 🙏
@АлексейУткин-м4з2 жыл бұрын
Странное ощущение после просмотра видео, вроде бы все изложено очень доступно, вполне себе хороший пример демонстрации работы делегатов. Но почему-то когда пытаешься сделать свою задачу, выясняется, что суть так и не ухватил. Еще хуже становится при просмотре следующего видео про события. На мой взгляд при объяснении делегатов очень важно делать особый акцент на том, почему нужно в данной ситуации использовать делегат, и что может произойти плохого при использовании обычных методов.
@igorshlyakov9321 Жыл бұрын
такая же ерунда, пример в конце, поставил меня в полный ступор(((
@vladoss4643 Жыл бұрын
Вот да. Вроде смотришь. И вроде логично говорит. Но нихрена непонятно. Почему именно так? Нафига этот метод Start? Почему там, блин, ты создаёшь делегат. Очень похож на метод, по объявлению, но это тип. Потом создаёшь экземпляр этого типа. А почему в классе вообще какой-то Handler появился? Зачем он нужен и что это? В общеееем, капец непонятно ничего...
@PeterFoxKills Жыл бұрын
Жизненно. Просто объяснено, но без разбора мелочей и деталей, без углубления и разжевывания. Вот за это я люблю смотреть Христа, у него как-то всё по-человечески и на тупых примерах (в хорошем смысле, типа, для тупых)
@back_to_life0 Жыл бұрын
@@vladoss4643 а всё потому что ты не понял изначально что такое делегат) Это ссылка на какой-то метод!!!!который можно изменить при применении на ходу
@vladoss4643 Жыл бұрын
@@back_to_life0 я понял, как себе это объяснить. Для меня делегат - это аналог интерфейса, только для метода. С помощью делегата ты можешь отделить запрос на выполнение метода от реализации этого метода. Если тебе нужно выполнять одинаковые по форме(забыл слово) методы - пожалуйста. Можно в цикле в делегат засовывать все методы, а потом вызывать их. Ты также через цикл можешь проходить все классы в списке интерфейсов и вызывать что-то у каждой реализации. Корочеее... По-моему, похоже. Что думаете?
@АнтонЛетов-б2х Жыл бұрын
начало прикольное
@Stair7772 жыл бұрын
очень крутое видео, большое спасибо!!! Удачи каналу и автору) лайк подписка
@magnemagnetiq72192 жыл бұрын
Прекрасное видео!
@lenaranalizator61252 жыл бұрын
Лучший!
@AzaKyd2 жыл бұрын
Крутое видео!! Братаааааан!!
@juniorcode412 жыл бұрын
Однозначно лайк и подписка.
@romanbush51642 жыл бұрын
Хорошее обьеснение. Я понял 👍🙂
@sahibrzayev8968 Жыл бұрын
Отличное объяснение , благодарю !!!
@alexdomanskyi73019 ай бұрын
Очень вкусный контент. Жаль, что время не хватает продолжать. Паттерны, асинхронность, примеры из жизни, архитектура - как бы хотелось продолжения формата.
@ktl63872 жыл бұрын
это божественно!
@vertigo2604 Жыл бұрын
Не Иван и не Борис, но лайк автор заслужил
@webseo892 жыл бұрын
Спасибо за труд!)
@konstantinkobayashi44623 жыл бұрын
Спасибо за отличный контент.
@hulk3147426 Жыл бұрын
Спасибо за видео очень все понятно и доступно
@COMBATMONC6 ай бұрын
Вот что значит хорошее интро вместо того чтобы просить поставить лайк сказать так что мне самому захотелось это сделать.
@timoxa_dev3 жыл бұрын
Красава, спасибо
@МаксимКустов-х7ш2 жыл бұрын
и действительно... всё стало понятно... первое видео от вас на которое я наткнулся. лайк, подписка и пошел смотреть остальные. хотя не, пойду потыкаю палкой делегаты, вдруг оно живое?
@MegaTembr2 жыл бұрын
Классный канал
@FatherOfPeople2 жыл бұрын
Да, очень интересна тема шаблонов проэктирования
@codaza-channel2 жыл бұрын
Значит, будем говорить 🙂 Вот тут уже поговорили про паттерн Proxy: kzbin.info/www/bejne/mZbSpZmsjrigbas
@ashotrustavelyan74982 жыл бұрын
ты лучший
@PAPAKOTT3 жыл бұрын
Как всегда очень круто !!!
@codaza-channel3 жыл бұрын
Спасибо за комментарий! Здорово, что информация оказалась полезной 🙂
@ЖекаКабанов-э6ь2 жыл бұрын
Комент для продвижения. Автор красавчик.
@codaza-channel2 жыл бұрын
Благодарю 🙂
@ДжорджАмберсон-у5в2 жыл бұрын
Топ контент👍
@benjaminBTN Жыл бұрын
“тут станет понятно» - но ничего не понятно! Зачем это все городить, почему не воспользоваться просто методами без всяких прослоек в виде делегатов?
@USSR-Lenin-Stalin-Forever3 ай бұрын
есть паттерн наблюдатель, посмотрите для чего он нужен и станет понятно для чего нужен делегат