Содержание
- 2. Рефлексия Механизм рефлексии. Аннотации. Методы, реализующие рефлексию.
- 3. Обзор литературы https://www.nookery.ru/understand-with-reflection/ https://metanit.com/sharp/tutorial/14.1.php https://www.youtube.com/watch?v=vN6OXGQM1ac https://www.youtube.com/watch?v=i2W2wA-Udro https://blog.rc21net.ru/рефлексия-отражение-reflection-в-c-sharp/
- 4. Атрибуты https://www.youtube.com/watch?v=i2W2wA-Udro https://www.youtube.com/watch?v=4m3nAAekpdc
- 5. Программа для декомпиляции https://www.jetbrains.com/ru-ru/decompiler/ JetBrains.dotPeek.2020.3.3.web.exe (Бесплатная)
- 6. Рефлексия Reflection (Отражение) https://www.youtube.com/watch?v=i2W2wA-Udro Отражение (англ. reflection) — процесс, во время которого программа может отслеживать и
- 7. Манифест (Метаданные сборки) состоят из описания сборки: имя, версия, строгое имя, информация о культуре. Метаданные (Метаданные
- 8. Байт-код (псевдокод)—машинно – независимый код низкого уровня, генерируемый транслятором и исполняемый интерпретатором. Большинство инструкций байт-кода эквивалентны
- 9. Рефлексия System.Reflection https://docs.microsoft.com/ru-ru/dotnet/api/system.reflection?view=netframework-4.8 System.Reflection – пространство имен, которое содержит классы для применения рефлексии в языкеC#. https://www.youtube.com/watch?v=vN6OXGQM1ac
- 10. Рефлексия Класс Type Type является корневым классом для функциональных возможностей рефлексиии основным способом доступа к метаданным.
- 11. Рефлексия Класс Type 1.Вызов метода GetType()на экземпляре требуемого класса. 2.Вызов статического метода GetType() класса Type. 3.Использование
- 12. Рефлексия Класс Assembly Класс Assembly представляет собой сборку, которая является модулем с возможностью многократного использования, поддержкой
- 13. Рефлексия Класс Activator Класс Activator содержит методы для локального создания типов объектов. Метод CreateInstance() создает экземпляр
- 14. Рефлексия Reflection (Отражение) https://www.youtube.com/watch?v=i2W2wA-Udro Отражение (англ. reflection) — процесс, во время которого программа может отслеживать и
- 15. Пример 1 https://www.youtube.com/watch?v=i2W2wA-Udro
- 16. Пример 1 Свойства https://www.youtube.com/watch?v=i2W2wA-Udro Конструктор класса 4 стандартных метода, являющимся общими для всех типов данных Индексаторы
- 17. Метод GetType Метод GetType – возвращает текущий Type. https://docs.microsoft.com/ru-ru/dotnet/api/system.type.gettype?view=netframework-4.8#System_Type_GetType Возвращаемое значение Type Тип с указанным именем,
- 18. Метод GetMembers Метод GetMembers – получает члены (свойства, методы, поля, события и т. д.) текущего объекта
- 19. Пример 2 https://www.youtube.com/watch?v=i2W2wA-Udro Добавим в метод GetMembers, два флага NonPublic - все непубличные Instance - выбираем
- 20. Пример 2 https://www.youtube.com/watch?v=i2W2wA-Udro Добавим в метод GetMembers, два флага NonPublic - все непубличные Instance - выбираем
- 21. Способы получения экземпляра https://www.nookery.ru/understand-with-reflection/
- 22. Пример 3 https://www.youtube.com/watch?v=i2W2wA-Udro Теперь попробуем менять с помощью метаданных сами данные С помощью механизма рефлексии мы
- 23. Метод GetField Метод GetField – возвращает поля текущего объекта Type. https://docs.microsoft.com/ru-ru/dotnet/api/system.type.getfields?view=netframework-4.8
- 24. Пример 4 https://www.youtube.com/watch?v=i2W2wA-Udro Рассмотрим пример создания новых объектов с помощью рефлексии В итоге получаем экземпляр класса
- 25. Пример 4 ConstructorInfo constructorInfo = type.GetConstructor(new Type[] { }); Получаем метаописание конструктора, нашего класса. Поскольку конструктор
- 26. Рефлексия Reflection (Отражение) https://www.youtube.com/watch?v=i2W2wA-Udro Механизм при помощи которого разработчик сообщает дополнительную информацию о том или ином
- 27. Пример 5 https://www.youtube.com/watch?v=i2W2wA-Udro Рассмотрим пример с атрибутами Атрибут сам по себе ни какой нагрузки не несет.
- 28. Пример 6 https://www.youtube.com/watch?v=i2W2wA-Udro Рассмотрим усложненный пример с атрибутам, с включением дополнительного свойства
- 29. Пример 7 https://www.youtube.com/watch?v=i2W2wA-Udro Ограничим область действия атрибута. По умолчанию область действия атрибута распространяется к чему угодно
- 30. Рассмотреть примеры
- 32. Скачать презентацию