C# programming. Lesson 14. Reflection

Поделиться
HTML-код
  • Опубликовано: 25 май 2014
  • Метаданные сборки и типов. Получение доступа к метаданным. Атрибуты.
    Ссылки на предыдущие уроки:
    Урок 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#. Типы данных.

Комментарии • 50

  • @madscientist338
    @madscientist338 2 года назад +5

    Даже спустя столько лет лучшие уроки которые я только видел!

  • @severelife8859
    @severelife8859 5 лет назад +4

    Я лучше уроков не находил, спасибо вам огромное, экономите кучу времени у студентов)

  • @user-hc1qe1xh7s
    @user-hc1qe1xh7s 10 лет назад +2

    Присоединяюсь ко всем. Очень рад, что Вы нас не забыли!

  • @RS_Zeugen
    @RS_Zeugen 10 лет назад +33

    Лайк не глядя:) И огромное человеческое спасибо

  • @natunuarat3207
    @natunuarat3207 8 лет назад +7

    Спасибо большое! Вы очень понятно и позитивно рассказываете, это редкость и круто :)

  • @romabarinov6627
    @romabarinov6627 10 месяцев назад

    Всё чинно и благородно, респект!

  • @user-hb4cy5qk3h
    @user-hb4cy5qk3h 7 лет назад +2

    Огромное спасибо за уроки, Игорь!

  • @vlados4105
    @vlados4105 4 года назад

    Большое спасибо! Очень полезный и информативный урок, с отличным объяснением! Хоть и этому видео уже 5 лет, но, как по мне, оно до сих пор остается актуальным и полезным, и помогло мне разобраться с данной темой

  • @MrXripper
    @MrXripper 10 лет назад +11

    Дождались!!!

  • @all4789
    @all4789 Год назад

    Круто! Качественно изложенный материал и очень доступно.

  • @ttrrkknn
    @ttrrkknn 9 лет назад +13

    Большое спасибо.

  • @jpgmood5258
    @jpgmood5258 3 года назад +1

    Жаль, что вы бросили снимать, у вас очень хорошо получалось

  • @foifirst
    @foifirst 9 лет назад +14

    Отличные уроки! Хотелось бы послушать про асинхронное программирование

    • @Defazze
      @Defazze  9 лет назад +13

      Вероятно скоро будет.

  • @user-hi2xj6eb3c
    @user-hi2xj6eb3c 7 лет назад +2

    Спасибо большое, несколько дней бился об эту тему, не мог понять для чего нужны эти атрибуты и как они могут быть полезны

  • @_kul879
    @_kul879 2 года назад

    Как обычно, высший пилотаж! Но чуть-чуть не докрутили с Reflection - маленького примера не хватило как в рантайме подгрузить DLL (через Assembly) с последующим созданием объекта класса и вызовом его метода

  • @elizavett8553
    @elizavett8553 2 года назад

    Спасибо огромное. Все разложили по полочкам

  • @nullnull5408
    @nullnull5408 10 лет назад +2

    Ура продолжение я так его ждал спасибо

  • @pavelkross
    @pavelkross 3 года назад

    за атрибуты отдельное спасибо!!

  • @mishamoix
    @mishamoix 10 лет назад +2

    Прям праздник :)

  • @kotikovdmitry4274
    @kotikovdmitry4274 3 года назад

    Спасибо, очень доступно для понимания)

  • @vladimirv.9903
    @vladimirv.9903 10 лет назад +2

    Тоже ставлю + авансом.

  • @WellcomeToMe
    @WellcomeToMe 2 года назад

    Спасибо за урок.
    Но всё же, как всё сложно.

  • @edvardpotapenko
    @edvardpotapenko 4 года назад

    Очень хороший урок, спасибо большое

  • @nitkin2z
    @nitkin2z 3 года назад

    Очень полезная информация

  • @Rivrabobra
    @Rivrabobra 4 года назад

    Хорош, спасибо)))

  • @vitaspiegel4945
    @vitaspiegel4945 4 года назад

    Браво!

  • @be1ay
    @be1ay 7 лет назад +2

    Отличные уроки. А можно поподробнее рассказать про атрибуты [Import] и [Export]?

  • @elizabethgrant6018
    @elizabethgrant6018 2 года назад

    Спасибо Вам гигантское!

  • @aim3881
    @aim3881 2 года назад

    спасибо

  • @user-ct8zg9vt9r
    @user-ct8zg9vt9r 7 лет назад +1

    Спасибо! Интересно ! Подобными методами пишутся кряки? И зачем может понадобиться ограничивать действия атрибутов ?

  • @anatoliinavrockiy8607
    @anatoliinavrockiy8607 4 года назад

    Спасибо, вроде все понятно кроме одного. Хотелось бы спросить какие могут быть практические применения у reflection

  • @sledleo
    @sledleo 4 года назад +2

    Не понял, а как модифицировать код атрибутами?! ( Аля препроцессор )

  • @user-xe3dj6bh6v
    @user-xe3dj6bh6v 10 лет назад

    У меня вопрос. Вот есть у нас в конце строка var attribute=(SimpleAttribute)attributes[0]; Она, получается, должна ссылаться на первый из атрибутов или на первую группу одноименных атрибутов? Потому что когда я присвоил обоим свойствам один атрибут и задал Number для второго, то вывело все 2 свойства со значением Number равным нулю для свойства с не заданным свойством атрибута.

    • @Defazze
      @Defazze  10 лет назад +1

      Эта строка просто ссылается на первый атрибут у члена типа или самого типа, если он есть.
      Если атрибутов нет - получим исключение.
      Если атрибут/атрибуты есть, но первый из них не является SimpleAttribute - получим исключение.
      Если все ОК, то дальше анализируем полученный атрибут.

  • @vadimchistyakov3472
    @vadimchistyakov3472 6 лет назад

    Как мне использовать переменную string в type.GetType(Наименование переменной) За место type.GetType("Namespace.ClassName") ?

  • @user-xx3eo2hr2y
    @user-xx3eo2hr2y 8 лет назад

    Возник вопрос на 14.23 в фориче ми сначала обьявляем перемнную value как var, а потом , через 2 строчки присваиваем ей другое значене. Как оно работет, ведь переприсваивать к вал нельзя. Или я что то не так понял?

    • @WorldCount
      @WorldCount 8 лет назад +2

      К var можно присваивать, если значение соответствует такому же типу, с которым прошла её инициализация. Короче, пример:
      var text = 5; // Все ок. В переменной значение типа int
      text = 7; // Все ок, т.к. значение типа int
      text = "7"; // Ошибка, т.к. значение типа string, а ожидается int

  • @EoLienFive
    @EoLienFive 5 лет назад

    Это можно использовать как чит в вашей программе либо сделать античит

  • @dmitrysavkin5981
    @dmitrysavkin5981 5 лет назад

    Это типа как pom.xml в Maven?

  • @ErikKartman
    @ErikKartman 7 лет назад

    он сказал класс Стюкен?

  • @user-xd3we2qp4i
    @user-xd3we2qp4i 4 года назад +1

    А зачем оно? Где оно юзаеться? Начинающему C# программисту нужно уметь его использовать или на певый этапах(и даже на первых этапах работы) достаточно будет просто знать "что это" и "с чем его едят"? *так много вопросов и так мало ответов...*

    • @sp1ne2104
      @sp1ne2104 4 года назад +1

      Часто используется в собственных generic классах, когда не знаешь что именно придет вместо . Получаем Type type = typeof(T) и делаем, что хотим далее

  • @playmarket8605
    @playmarket8605 Год назад

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

  • @FlaviusHouk
    @FlaviusHouk 7 лет назад

    Занадто вже швидко оглянуто Reflection. Ця тема заслуговує на повноцінний годинний урок. А так трохи про Відбиття трохи про Атрибути і все.

    • @sledleo
      @sledleo 4 года назад

      Свободен!

  • @pulsar1934
    @pulsar1934 Год назад

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

    • @_cyp4ik_201
      @_cyp4ik_201 Год назад

      Используется, например в модинге игр. Игра используя рефлексию может загружать модовые сборки, и взаимодействовать с её классами. Ещё используется декомпиляторами. Это не костыль, это возможность забраться под капот, и получить больше власти над программами, такая возможность должна быть в любом серьёзном ЯП.

  • @user-hh2qp6ez4d
    @user-hh2qp6ez4d 4 года назад

    Реклама к ролику и то интереснее