Блин, то что я искал, очень здорово. Просьба к автору, не забрасывай канал, все видео познавательные и на русском! Серьезно, брал курс на Udemy, чтобы разобраться в делегатах, так там 2 часа разжовывали незнамо что, а тут все быстро, понятно, по делу и бесплатно!
Это классно! Я очень рад, что информация в ролике помогла осмыслить делегаты лучше. Не забудьте посмотреть ролик про события (events) для полноты картины :) Спасибо за комментарий! Впереди много интересного.
Какая же годнота! Для особей со ступором мозговины, вроде меня, это просто какое-то спасение. Всё разжевано и визуализировано. Спасибо, чел, это топ контент.
в таком же ключе нужно про события. что значат хэндлер, аргс, сендер, е и т.д. З.Ы. постараюсь все видео коментить что бы поднять вас в рекомендациях, т.к. вы правы - формат объяснения очень хорош.
Автор ты огромный молодец, как же мне было приятно смотреть это видео, все так понятно, хорошая громкость голоса, музыка на фоне, все так лампово, в общем очень круто спасибо!
Слушать Ваши уроки - одно удовольствие. И даже когда знаешь материал,- все равно находишь для себя что-то новое. Спасибо за Ваш профессионализм и хорошую подачу материала.
Видео отличное, очень правильно и качественно сделано. Разве что могу добавить - если новичку сложно освоить делегаты и события шарпа, а также передачу аргументов по ссылке (ref, out) - изучите указатели в Си. когда умеешь работать с указателями, понимаешь что такое эти все делегаты, что такое передача по ссылке и откуда у этого ноги растут.
Прекрасная подача материала. Мне очень нравится такое. Заранее подготовленный сценарий, без всяких там: "а чё я хотел сказать? эээ.... ммм... ну да! а... нет". Тщательно составленная графика, ничего лишнего. Единственное, я бы фоновую музыку сделал чуть потише. И в конце рост громкости слишком уж взрывной, помягче бы. Но это на будущее, конечно же. Лайк, безусловно!
Одно из самых лучших объяснений, которые я когда либо видел в своей жизни, спасибо тебе большое за твои видосы, благодаря тебе, во многих аспектах стал лучше ориентироваться
Круто, очень круто. Все объясняется простым и понятным языком, очень доходчиво. Автору желаю успехов, побольше подписчиков и динамического развития канала. Подписка!
Крутой ролик, весьма понятно, документация больше запутывала, конечно и в ней можно взять информацию, но там больше академически и строго в терминологии, да еще и английские термины незнакомые переводишь и зачастую получаешь не совсем тот смысл в предложениях, благодарю вас, вы делаете отличную работу 👍
Шикарно, просто шикарно! Наконец то, спустя дня поисков и просмотров скучных роликов, я нашел действительно подробный и приятный урок. Спасибо вам! Желаю вашему каналу миллионы подписчиков!
Вот чего чего, а многим видео по программированию не хватает жизни, движения. Именно по этому я радуюсь каждый раз, как вижу видео, в котором повествование и картинка идут паралельно, дополняя друг друга
Большое спасибо. Действительно, тут стало понятно 😅 почти день ковыряния на метаните, но понятно стало у Вас. Я конечно, не Иван и даже не Борис, но лайк поставила
Всегда пожалуйста. Очень рад, что рубрика "тут станет понятно" отвечает своему названию 🙂 Поcмотрите еще ролик про события (events): th-cam.com/video/oDucgj1JDPQ/w-d-xo.html Я думаю, по горячим следам, это будет на пользу. Темы делегатов и событий понятийно очень переплетены и их стоит сразу осознавать вместе.
@@codaza-channel единственное, магией для меня осталась работа свойства public PriceChange PriceChangeHandler { get; set; } но про их работу я не нашла у вас видео, пойду перечитывать метанит ) Но про события уже смотрю и разбираю )
Да, про свойства пока нет ролика на канале. Но если говорить о свойствах супер кратко, чтобы вы сразу же поняли суть, то свойство - это способ задать переменную класса извне (например, из метода Main). То есть, может быть свойство в котором мы задаём целочисленную переменную (например, пусть будет вес человека): public int HumanWeight { get; set; } А может быть свойство где мы задаём ссылку на метод (как в примере из ролика): public PriceChange PriceChangeHandler { get; set; } То есть, переводя на человеческий язык, через свойство PriceChangeHandler, мы из метода Main, говорим объекту класса StockExchangeMonitor следующее: У меня есть метод ShowPrice() и этот метод как раз совпадает с сигнатурой делегата PriceChange, сохрани его у себя в свойстве PriceChangeHandler, чтобы ты (StockExchangeMonitor) мог его вызвать, когда посчитаешь нужным.
Очень вкусный контент. Жаль, что время не хватает продолжать. Паттерны, асинхронность, примеры из жизни, архитектура - как бы хотелось продолжения формата.
урок интересный, спасибо, разобрался с делегатами. Вот что хотел сказать, проблема всех объяснений классов, делегатов и прочего, что не понятно для чего это нужно. вот в уроке объяснили для чего делегаты и в конце смотришь такой блин создали класс и прочее, но можно же было обойтись одной функцией и для новичка это выглядит нелепо
и действительно... всё стало понятно... первое видео от вас на которое я наткнулся. лайк, подписка и пошел смотреть остальные. хотя не, пойду потыкаю палкой делегаты, вдруг оно живое?
Странное ощущение после просмотра видео, вроде бы все изложено очень доступно, вполне себе хороший пример демонстрации работы делегатов. Но почему-то когда пытаешься сделать свою задачу, выясняется, что суть так и не ухватил. Еще хуже становится при просмотре следующего видео про события. На мой взгляд при объяснении делегатов очень важно делать особый акцент на том, почему нужно в данной ситуации использовать делегат, и что может произойти плохого при использовании обычных методов.
Вот да. Вроде смотришь. И вроде логично говорит. Но нихрена непонятно. Почему именно так? Нафига этот метод Start? Почему там, блин, ты создаёшь делегат. Очень похож на метод, по объявлению, но это тип. Потом создаёшь экземпляр этого типа. А почему в классе вообще какой-то Handler появился? Зачем он нужен и что это? В общеееем, капец непонятно ничего...
Жизненно. Просто объяснено, но без разбора мелочей и деталей, без углубления и разжевывания. Вот за это я люблю смотреть Христа, у него как-то всё по-человечески и на тупых примерах (в хорошем смысле, типа, для тупых)
@@vladoss4643 а всё потому что ты не понял изначально что такое делегат) Это ссылка на какой-то метод!!!!который можно изменить при применении на ходу
@@everything_is_simple8 я понял, как себе это объяснить. Для меня делегат - это аналог интерфейса, только для метода. С помощью делегата ты можешь отделить запрос на выполнение метода от реализации этого метода. Если тебе нужно выполнять одинаковые по форме(забыл слово) методы - пожалуйста. Можно в цикле в делегат засовывать все методы, а потом вызывать их. Ты также через цикл можешь проходить все классы в списке интерфейсов и вызывать что-то у каждой реализации. Корочеее... По-моему, похоже. Что думаете?
Пришел к вам, чтобы не смотреть другое видео со скучной лекцией про делегаты на 1.5 часа. А тут так приятно, музыка расслабляющая, тема темная, информация интересная. Я хоть не Борис и не Иван, но лайк не могу не поставить:) Пойду еще про ивенты посмотрю:)
Мы всегда рады. Спасибо, что заглянули 🙂 На codaza мы смотрим в самую суть вещей. Вы можете позже вернуться к 1.5-часовой лекции, там ваше понимание скорее всего дополнят деталями, но суть вы уже точно будете понимать 😉
Live example не сразу понял. Прошло пару месяцев пока мне не понадобилось сделать подобное на практике. И я понял, что библиотека может быть одна. А классов, из которых к библиотеке необходимо обратится, может быть множество. И экземпляры этих классов мы уже можем использовать там, где нам нужно в программе. А так спасибо большое за инфу!
Удобная навигация по видео :)
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 - Завершение
Можно ссылку на github с примером библиотеки, чтобы посмотреть как работает через отладчик
@@mrcolter Конечно. Вот ссылка: github.com/codaza/StockOnliner
@@codaza-channel Спасибо :з
@@codaza-channel Огромное вам СПАСИБО!! Вы реально объясняете лучше всех на ЮТУБ!!!
@@codaza-channel Огромное вам СПАСИБО!! Вы реально объясняете лучше всех на ЮТУБ!!! Вот что значит РЕАЛЬНЫЙ УЧИТЕЛЬ!
Предложение по разъяснению паттернов с примерами очень поддерживаю.
Жаль что ты престал выпускать ролики. Твои обучающие видео по C# лучшее, что я встречал на ютуб. Все просто и понятно
жаль что ты олень и никогда ничему не научишься
Урок который можно посмотреть даже уставшим после трудового дня и понять все с первого раза. Никакой тягомотины. Большое спасибо!
💙
@@dabradax9117 мне тоже интересно
и заснуть
@@codaza-channelпожалуйста вернись
Блин, то что я искал, очень здорово. Просьба к автору, не забрасывай канал, все видео познавательные и на русском!
Серьезно, брал курс на Udemy, чтобы разобраться в делегатах, так там 2 часа разжовывали незнамо что, а тут все быстро, понятно, по делу и бесплатно!
Это классно! Я очень рад, что информация в ролике помогла осмыслить делегаты лучше. Не забудьте посмотреть ролик про события (events) для полноты картины :) Спасибо за комментарий! Впереди много интересного.
@@codaza-channel куда же делось это впереди(
Какая же годнота! Для особей со ступором мозговины, вроде меня, это просто какое-то спасение. Всё разжевано и визуализировано. Спасибо, чел, это топ контент.
Очень редко комментирую видео, но ваше вызвало у меня восторг. Спасибо большое за работу, стало действительно всё понятно!
в таком же ключе нужно про события. что значат хэндлер, аргс, сендер, е и т.д. З.Ы. постараюсь все видео коментить что бы поднять вас в рекомендациях, т.к. вы правы - формат объяснения очень хорош.
Большое спасибо за поддержку! Комментарии к роликам действительно очень помогают. Делаю спойлер, видео про события выйдет уже в эту субботу :)
Автор ты огромный молодец, как же мне было приятно смотреть это видео, все так понятно, хорошая громкость голоса, музыка на фоне, все так лампово, в общем очень круто спасибо!
Рад, что материал оказался полезным. Благодарю за отзыв 💙
Слушать Ваши уроки - одно удовольствие. И даже когда знаешь материал,- все равно находишь для себя что-то новое. Спасибо за Ваш профессионализм и хорошую подачу материала.
Очень жду новых видео,ибо объяснения на идеальных примерах и разъясняется ëмко,понятно и по факту!💗
Возможно одно из самых качественных виде о программировании которое я видел в сети!
Классная музыка. И объяснение тоже!
Видео отличное, очень правильно и качественно сделано. Разве что могу добавить - если новичку сложно освоить делегаты и события шарпа, а также передачу аргументов по ссылке (ref, out) - изучите указатели в Си. когда умеешь работать с указателями, понимаешь что такое эти все делегаты, что такое передача по ссылке и откуда у этого ноги растут.
Большое спасибо! Очень подробное и доступное объяснение 👍
Спасибо большое целый день голову ломал, не мог понять как работают делегаты пока не нашел ваш ролик. Очень хорошо объяснили, как гору с плеч сняло
клёвая, приятная подача :) желаю быстрого развития канала!
Благодарю за комментарий и спасибо за пожелания! :)
На удивление просто и понятно разобрал, долго не мог въехать в эту тему. Спасибо автору :)
Прекрасная подача материала. Мне очень нравится такое. Заранее подготовленный сценарий, без всяких там: "а чё я хотел сказать? эээ.... ммм... ну да! а... нет". Тщательно составленная графика, ничего лишнего. Единственное, я бы фоновую музыку сделал чуть потише. И в конце рост громкости слишком уж взрывной, помягче бы. Но это на будущее, конечно же. Лайк, безусловно!
Кирилл, спасибо за обратную связь. Обязательно учту в будущих роликах. 👍
Огромнейшее спасибо Вам за труды.
Одно из самых лучших объяснений, которые я когда либо видел в своей жизни, спасибо тебе большое за твои видосы, благодаря тебе, во многих аспектах стал лучше ориентироваться
Спасибо за комментарий. Рад, что информация оказалась полезной 🙂
Круто, очень круто. Все объясняется простым и понятным языком, очень доходчиво.
Автору желаю успехов, побольше подписчиков и динамического развития канала.
Подписка!
Рад, что ролик понравился. Благодарю за комментарий 👍
Крутой ролик, весьма понятно, документация больше запутывала, конечно и в ней можно взять информацию, но там больше академически и строго в терминологии, да еще и английские термины незнакомые переводишь и зачастую получаешь не совсем тот смысл в предложениях, благодарю вас, вы делаете отличную работу 👍
Буду пересматривать по очереди с events, пока всё не отложится в голове спасибо
Суперсодержательный видос четко по теме с практическим примером. Браво автору канала!
Ппекрасные объяснения, уверен у канала огромное будушее
Шикарно, просто шикарно! Наконец то, спустя дня поисков и просмотров скучных роликов, я нашел действительно подробный и приятный урок. Спасибо вам! Желаю вашему каналу миллионы подписчиков!
Рад, что информация оказалась полезной. Благодарю за комментарий и поддержку! Впереди много интересного.
Твою дивизию, автор, нереально круто. Читал книжки, смотрел видяхи, но понять смысл делегатов не мог. Мог, но чего-то не хватало. .
Благодарю за труды! Прекрасная работа на благо людей!
Тесак очень вежливо поясняет за делегаты на С#
Прекрасный формат рролика! Спасибо! +подписчик
Наконец-то допер..Спасибо за видео,приятно слушать. Музыка в тему,в стиле Птушкина из его путешествий)
Благодарю за комментарий. Рад, что понимание пришло в уходящем году 🙂 С наступающим! 🎄
Cпасибо) Вроде, разобрался, и понял. Бывают заскоки, и я пытаюсь разобраться, как всё работает, вплоть до хранения памяти, спасибо
Вот чего чего, а многим видео по программированию не хватает жизни, движения. Именно по этому я радуюсь каждый раз, как вижу видео, в котором повествование и картинка идут паралельно, дополняя друг друга
Объяснение на высшем уровне, спасибо автору!
Огромное тебе спасибо.
Всё доступно и интересно было подано. 👍
Спасибо за видео. В качестве предложения можно снять дополнительное видео про делегаты с параметризацией, а так же про делегаты func и action
Тема Design Patterns интересна! Будем ждать)
Спасибо большое! Очень доступная и грамотная подача)
Спасибо за видео. Лучшее объяснение по делегатам.
Очень нравится твой канал
Борис)
отличная подача. четко и по делу. музыка, примеры 5+
Очень качественное видео, желаю продвижения на ютубе)
Молодцом! Оч. приятно слушать :]
Так вот оно что, автору большое спасибо за объяснение!
очень качественное объяснение, спасибо огромное
Автор большой красавчик)
Спасибо очень интересно и понятно дай бог автору здоровья
Забавно. На середине видео захотелось подписаться, спустился под видео и обнаружил, что я так-то уже подписан)
А, так я еще и комментарий писал)
Вот это в как раз и искал. Автор молодец.
Первое видео, которое Я посмотрел на этом канале! Подписываюсь!
Видео топчик, ты один делаешь на ютубе такое. Продолжай!
Рад, что ролик оказался полезным 🙂 Спасибо за комментарий 👍
год назад смотрел видео, теперь пересматриваю😂 все формулировки помню и про банк оф америка
Большое спасибо. Действительно, тут стало понятно 😅 почти день ковыряния на метаните, но понятно стало у Вас. Я конечно, не Иван и даже не Борис, но лайк поставила
Всегда пожалуйста. Очень рад, что рубрика "тут станет понятно" отвечает своему названию 🙂 Поcмотрите еще ролик про события (events): th-cam.com/video/oDucgj1JDPQ/w-d-xo.html Я думаю, по горячим следам, это будет на пользу. Темы делегатов и событий понятийно очень переплетены и их стоит сразу осознавать вместе.
@@codaza-channel единственное, магией для меня осталась работа свойства
public PriceChange PriceChangeHandler { get; set; }
но про их работу я не нашла у вас видео, пойду перечитывать метанит )
Но про события уже смотрю и разбираю )
Да, про свойства пока нет ролика на канале. Но если говорить о свойствах супер кратко, чтобы вы сразу же поняли суть, то свойство - это способ задать переменную класса извне (например, из метода Main).
То есть, может быть свойство в котором мы задаём целочисленную переменную (например, пусть будет вес человека): public int HumanWeight { get; set; }
А может быть свойство где мы задаём ссылку на метод (как в примере из ролика):
public PriceChange PriceChangeHandler { get; set; }
То есть, переводя на человеческий язык, через свойство PriceChangeHandler, мы из метода Main, говорим объекту класса StockExchangeMonitor следующее: У меня есть метод ShowPrice() и этот метод как раз совпадает с сигнатурой делегата PriceChange, сохрани его у себя в свойстве PriceChangeHandler, чтобы ты (StockExchangeMonitor) мог его вызвать, когда посчитаешь нужным.
Отличная работа! Не останавливайтесь!
Благодарю за поддержку!
было бы круто, если бы вы рассказали про шаблоны проектирования, спасибо!
Большое вам спасибо!)
лучшее обьяснение которое я когда либо видел
Очень крутое объяснение. Спасибо большое 🙏
Хорошая подача материала, спасибо. Хотел узнать о делегатах и узнал.
Спасибо за видео) Было б неплохо узнать о свойствах get; set
Очень хорошее видео, спасибо!
Да, было бы интересно услышать про шаблоны проектирования
Как всегда качественный контент!
Ооочень понятное объяснение
Прекрасное видео!
Очень интересное и полезное видео. Спасибо!
Очень вкусный контент. Жаль, что время не хватает продолжать. Паттерны, асинхронность, примеры из жизни, архитектура - как бы хотелось продолжения формата.
ХЕРА СЕ КРУТА!!!ПОНРАВИЛОСЬ ОСОБЕНО С АКЦИЯМИ!
Отличное объяснение , благодарю !!!
урок интересный, спасибо, разобрался с делегатами. Вот что хотел сказать, проблема всех объяснений классов, делегатов и прочего, что не понятно для чего это нужно. вот в уроке объяснили для чего делегаты и в конце смотришь такой блин создали класс и прочее, но можно же было обойтись одной функцией и для новичка это выглядит нелепо
Спасибо за труд!)
Хороше відео. Стисло і зрозуміло.
очень крутое видео, большое спасибо!!!
Удачи каналу и автору) лайк подписка
Спасибо за отличный контент.
Очень хорошие объяснения, впервые узнал для себя, что делегаты бывают много-фунциональными (MultiCast) и раньше не видел new() без имени класса.
и действительно... всё стало понятно... первое видео от вас на которое я наткнулся. лайк, подписка и пошел смотреть остальные. хотя не, пойду потыкаю палкой делегаты, вдруг оно живое?
это божественно!
начало прикольное
Вот что значит хорошее интро вместо того чтобы просить поставить лайк сказать так что мне самому захотелось это сделать.
Хорошее обьеснение. Я понял 👍🙂
Крутое видео!! Братаааааан!!
Как всегда очень круто !!!
Спасибо за комментарий! Здорово, что информация оказалась полезной 🙂
Спасибо за урок!
Однозначно лайк и подписка.
крутой контент, спасибо! Работаю программистом, ничего не знаю, но лутаю 100к. Все благодаря твоим видосам!
Где работаешь ? Интересно я тоже сейчас учусь думаю на работу устроиться
спасибо, очень приятная подача
Топовое объяснение
💙
Прекрасное видео! Спасибо!
Странное ощущение после просмотра видео, вроде бы все изложено очень доступно, вполне себе хороший пример демонстрации работы делегатов. Но почему-то когда пытаешься сделать свою задачу, выясняется, что суть так и не ухватил. Еще хуже становится при просмотре следующего видео про события. На мой взгляд при объяснении делегатов очень важно делать особый акцент на том, почему нужно в данной ситуации использовать делегат, и что может произойти плохого при использовании обычных методов.
такая же ерунда, пример в конце, поставил меня в полный ступор(((
Вот да. Вроде смотришь. И вроде логично говорит. Но нихрена непонятно. Почему именно так?
Нафига этот метод Start? Почему там, блин, ты создаёшь делегат. Очень похож на метод, по объявлению, но это тип. Потом создаёшь экземпляр этого типа.
А почему в классе вообще какой-то Handler появился?
Зачем он нужен и что это?
В общеееем, капец непонятно ничего...
Жизненно. Просто объяснено, но без разбора мелочей и деталей, без углубления и разжевывания. Вот за это я люблю смотреть Христа, у него как-то всё по-человечески и на тупых примерах (в хорошем смысле, типа, для тупых)
@@vladoss4643 а всё потому что ты не понял изначально что такое делегат)
Это ссылка на какой-то метод!!!!который можно изменить при применении на ходу
@@everything_is_simple8 я понял, как себе это объяснить. Для меня делегат - это аналог интерфейса, только для метода.
С помощью делегата ты можешь отделить запрос на выполнение метода от реализации этого метода. Если тебе нужно выполнять одинаковые по форме(забыл слово) методы - пожалуйста. Можно в цикле в делегат засовывать все методы, а потом вызывать их.
Ты также через цикл можешь проходить все классы в списке интерфейсов и вызывать что-то у каждой реализации.
Корочеее... По-моему, похоже. Что думаете?
Спасибо, невероятно полезно! :D
Комент для продвижения. Автор красавчик.
Благодарю 🙂
Это просто прекрасно! Спасибо!
Да, очень интересна тема шаблонов проэктирования
Значит, будем говорить 🙂 Вот тут уже поговорили про паттерн Proxy: th-cam.com/video/ceotfvYSm7I/w-d-xo.html
Спасибо за такие видео
Красава, спасибо
Пришел к вам, чтобы не смотреть другое видео со скучной лекцией про делегаты на 1.5 часа. А тут так приятно, музыка расслабляющая, тема темная, информация интересная. Я хоть не Борис и не Иван, но лайк не могу не поставить:) Пойду еще про ивенты посмотрю:)
Мы всегда рады. Спасибо, что заглянули 🙂 На codaza мы смотрим в самую суть вещей. Вы можете позже вернуться к 1.5-часовой лекции, там ваше понимание скорее всего дополнят деталями, но суть вы уже точно будете понимать 😉
Live example не сразу понял. Прошло пару месяцев пока мне не понадобилось сделать подобное на практике. И я понял, что библиотека может быть одна. А классов, из которых к библиотеке необходимо обратится, может быть множество. И экземпляры этих классов мы уже можем использовать там, где нам нужно в программе. А так спасибо большое за инфу!
Классный урок , спасибо !=)
Пришлось смотреть дважды, чтобы вкурить, но прикольно. Передаешь свою функцию с параметром в класс, и этот класс тебе в параметр насыпает значение