Тёмный

C# programming. Lesson 14. Reflection 

Программирование - это просто
Просмотров 43 тыс.
50% 1

Метаданные сборки и типов. Получение доступа к метаданным. Атрибуты.
Ссылки на предыдущие уроки:
Урок 13. Введение в LINQ. • Уроки C#. Введение в LINQ
Урок 12. Лямбда-выражения. • Уроки C#. Лямбда-выраж...
Урок 11. Три кита. • Уроки C#. Три кита
Урок 10. Исключения. • Уроки C#. Исключения
Урок 9. Множества. • Уроки C#. Множества
Урок 8. Обобщения. • Уроки C#. Обобщения
Урок 7. Пример создания приложения. • Уроки C#. Пример созда...
Урок 6. Интерфейсы. • Уроки C#. Интерфейсы.
Урок 5. Запечатанные, статические и абстрактные классы. • Уроки C#. Запечатанные...
Урок 4. Наследование и полиморфизм. • Уроки C#. Наследование...
Урок 3. Делегаты и события. • Уроки C#. Делегаты и с...
Урок 2. Состав типа. • Уроки C#. Состав типа.
Урок 1. Типы данных. • Уроки C#. Типы данных.

Опубликовано:

 

7 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 49   
@madscientist338
@madscientist338 3 года назад
Даже спустя столько лет лучшие уроки которые я только видел!
@RS_Zeugen
@RS_Zeugen 10 лет назад
Лайк не глядя:) И огромное человеческое спасибо
@severelife8859
@severelife8859 5 лет назад
Я лучше уроков не находил, спасибо вам огромное, экономите кучу времени у студентов)
@natunuarat3207
@natunuarat3207 8 лет назад
Спасибо большое! Вы очень понятно и позитивно рассказываете, это редкость и круто :)
@vlados4105
@vlados4105 4 года назад
Большое спасибо! Очень полезный и информативный урок, с отличным объяснением! Хоть и этому видео уже 5 лет, но, как по мне, оно до сих пор остается актуальным и полезным, и помогло мне разобраться с данной темой
@user-hb4cy5qk3h
@user-hb4cy5qk3h 7 лет назад
Огромное спасибо за уроки, Игорь!
@all4789
@all4789 Год назад
Круто! Качественно изложенный материал и очень доступно.
@user-hc1qe1xh7s
@user-hc1qe1xh7s 10 лет назад
Присоединяюсь ко всем. Очень рад, что Вы нас не забыли!
@MrXripper
@MrXripper 10 лет назад
Дождались!!!
@romabarinov6627
@romabarinov6627 Год назад
Всё чинно и благородно, респект!
@ttrrkknn
@ttrrkknn 9 лет назад
Большое спасибо.
@user-hi2xj6eb3c
@user-hi2xj6eb3c 7 лет назад
Спасибо большое, несколько дней бился об эту тему, не мог понять для чего нужны эти атрибуты и как они могут быть полезны
@jpgmood5258
@jpgmood5258 3 года назад
Жаль, что вы бросили снимать, у вас очень хорошо получалось
@_kul879
@_kul879 2 года назад
Как обычно, высший пилотаж! Но чуть-чуть не докрутили с Reflection - маленького примера не хватило как в рантайме подгрузить DLL (через Assembly) с последующим созданием объекта класса и вызовом его метода
@lintop3908
@lintop3908 Месяц назад
Thank you very much, you've done a great job!
@elizavett8553
@elizavett8553 3 года назад
Спасибо огромное. Все разложили по полочкам
@WellcomeToMe
@WellcomeToMe 3 года назад
Спасибо за урок. Но всё же, как всё сложно.
@pavelkross
@pavelkross 4 года назад
за атрибуты отдельное спасибо!!
@be1ay
@be1ay 8 лет назад
Отличные уроки. А можно поподробнее рассказать про атрибуты [Import] и [Export]?
@mishamoix
@mishamoix 10 лет назад
Прям праздник :)
@vladimirv.9903
@vladimirv.9903 10 лет назад
Тоже ставлю + авансом.
@nullnull5408
@nullnull5408 10 лет назад
Ура продолжение я так его ждал спасибо
@kotikovdmitry4274
@kotikovdmitry4274 3 года назад
Спасибо, очень доступно для понимания)
@nitkin2z
@nitkin2z 3 года назад
Очень полезная информация
@edvardpotapenko
@edvardpotapenko 4 года назад
Очень хороший урок, спасибо большое
@elizabethgrant6018
@elizabethgrant6018 3 года назад
Спасибо Вам гигантское!
@user-ct8zg9vt9r
@user-ct8zg9vt9r 7 лет назад
Спасибо! Интересно ! Подобными методами пишутся кряки? И зачем может понадобиться ограничивать действия атрибутов ?
@vitaspiegel4945
@vitaspiegel4945 4 года назад
Браво!
@aim3881
@aim3881 3 года назад
спасибо
@sledleo
@sledleo 5 лет назад
Не понял, а как модифицировать код атрибутами?! ( Аля препроцессор )
@anatoliinavrockiy8607
@anatoliinavrockiy8607 4 года назад
Спасибо, вроде все понятно кроме одного. Хотелось бы спросить какие могут быть практические применения у reflection
@Rivrabobra
@Rivrabobra 4 года назад
Хорош, спасибо)))
@user-xd3we2qp4i
@user-xd3we2qp4i 5 лет назад
А зачем оно? Где оно юзаеться? Начинающему C# программисту нужно уметь его использовать или на певый этапах(и даже на первых этапах работы) достаточно будет просто знать "что это" и "с чем его едят"? *так много вопросов и так мало ответов...*
@sp1ne2104
@sp1ne2104 5 лет назад
Часто используется в собственных generic классах, когда не знаешь что именно придет вместо . Получаем Type type = typeof(T) и делаем, что хотим далее
@user-xe3dj6bh6v
@user-xe3dj6bh6v 10 лет назад
У меня вопрос. Вот есть у нас в конце строка var attribute=(SimpleAttribute)attributes[0]; Она, получается, должна ссылаться на первый из атрибутов или на первую группу одноименных атрибутов? Потому что когда я присвоил обоим свойствам один атрибут и задал Number для второго, то вывело все 2 свойства со значением Number равным нулю для свойства с не заданным свойством атрибута.
@Defazze
@Defazze 10 лет назад
Эта строка просто ссылается на первый атрибут у члена типа или самого типа, если он есть. Если атрибутов нет - получим исключение. Если атрибут/атрибуты есть, но первый из них не является SimpleAttribute - получим исключение. Если все ОК, то дальше анализируем полученный атрибут.
@vadimchistyakov3472
@vadimchistyakov3472 6 лет назад
Как мне использовать переменную string в type.GetType(Наименование переменной) За место type.GetType("Namespace.ClassName") ?
@playmarket8605
@playmarket8605 Год назад
Нигде нет описания, как работает отражение на низком уровне. Только как применить и для чего, нужно.
@EoLienFive
@EoLienFive 5 лет назад
Это можно использовать как чит в вашей программе либо сделать античит
@user-xx3eo2hr2y
@user-xx3eo2hr2y 9 лет назад
Возник вопрос на 14.23 в фориче ми сначала обьявляем перемнную value как var, а потом , через 2 строчки присваиваем ей другое значене. Как оно работет, ведь переприсваивать к вал нельзя. Или я что то не так понял?
@WorldCount
@WorldCount 8 лет назад
К var можно присваивать, если значение соответствует такому же типу, с которым прошла её инициализация. Короче, пример: var text = 5; // Все ок. В переменной значение типа int text = 7; // Все ок, т.к. значение типа int text = "7"; // Ошибка, т.к. значение типа string, а ожидается int
@dmitrysavkin5981
@dmitrysavkin5981 5 лет назад
Это типа как pom.xml в Maven?
@FlaviusHouk
@FlaviusHouk 7 лет назад
Занадто вже швидко оглянуто Reflection. Ця тема заслуговує на повноцінний годинний урок. А так трохи про Відбиття трохи про Атрибути і все.
@sledleo
@sledleo 5 лет назад
Свободен!
@ErikKartman
@ErikKartman 7 лет назад
он сказал класс Стюкен?
@pulsar1934
@pulsar1934 2 года назад
Ну и главный вопрос зачем нам нужен этот костыль, что он позволяет нам делать то что мы не могли раньше, а может он нам жизнь упрощает? Нет, это какие то дебри. Номер повесить? ок а константу создать как поле и так же вывести не получится, или для такой хрени надо целый класс городить?
@_cyp4ik_201
@_cyp4ik_201 Год назад
Используется, например в модинге игр. Игра используя рефлексию может загружать модовые сборки, и взаимодействовать с её классами. Ещё используется декомпиляторами. Это не костыль, это возможность забраться под капот, и получить больше власти над программами, такая возможность должна быть в любом серьёзном ЯП.
@user-hh2qp6ez4d
@user-hh2qp6ez4d 4 года назад
Реклама к ролику и то интереснее
Далее
C# programming. Lesson 15. Expression tree
23:03
Просмотров 42 тыс.
See It In Action! C# Reflection for Beginners
11:33
Просмотров 2,6 тыс.
Cute kitty gadget 💛💕
00:23
Просмотров 15 млн
C# Delegates Делегаты
18:14
Просмотров 86 тыс.
C# Events События
14:36
Просмотров 51 тыс.
C# programming. Lesson 9. Sets
39:11
Просмотров 53 тыс.
Emulating a CPU in C++ (6502)
52:28
Просмотров 978 тыс.
Premature Optimization
12:39
Просмотров 802 тыс.