#reflection #рефлексия #globalassemblycache #gac #loadfile #loadfrom #csharp #dotnet #assembly #type #propertyinfo #constructorinfo #methodinfo #fieldinfo #andriyshyrokoriadov
В видео описано что такое рефлексия и как её использовать. Помимо использования рефлексии, представлены практические примеры использования классов:
- Assembly
- Type
- PropertyInfo
- ConstructorInfo
- MethodInfo
- FieldInfo
Указана разница между методами LoadFrom и LoadFile класса Assembly.
Дана информация о том что такое глобальный кэш сборо или Global Assembly Cache.
Обзор представлен в форме ответа на вопрос, который встречается на собеседованиях на позицию "программист C# / .Net".
Подписывайтесь на канал [программирование, путешествия]: https://www.youtube.com/channel/UCUjFFn-387VIGvQ1KiomyXg
0:05 - введение, чтение атрибутов
0:45 - сравнение рефлексии со стандартным способом создания объектов
2:45 - алгоритм работы рефлексии
5:00 - загрузка файлов DLL
6:10 - метод Load(string)
6:43 - длинное имя библиотеки
7:30 - разница между методами LoadFrom и LoadFile
8:27 - Глобальный Кэш Сборок / Global Assembly Cache
10:00 - класс Assembly
11:05 - классы PropertyInfo, ConstructorInfo, MethodInfo, FieldInfo
12:25 - практический пример
20:20 - использование класса Type
22:35 - использование класса MethodInfo
27:10 - использование класса PropertyInfo
28:42 - использование класса FieldInfo
30:22 - использование класса ConstructorInfo
31:40 - использование атрибутов
38:30 - инициализация объекта при помощи рефлексии и использование данное объекта
Текст к фильму доступен по ссылке: https://ashyrokoriadov.github.io/c_sharp_questions/2021/05/29/Reflection.html
Ссылка на репозиториум с примерами: https://github.com/ashyrokoriadov/reflection-example
Дополнительная информация:
- рефлексия - https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/reflection
- класс Assembly - https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly?view=net-5.0
- класс Type - https://docs.microsoft.com/en-us/dotnet/api/system.type?view=net-5.0
- методы Load - https://docs.microsoft.com/en-us/dotnet/api/system.reflection.assembly.createinstance?view=net-5.0
- Global Assembly Cache - https://docs.microsoft.com/en-us/dotnet/framework/app-domains/gac
- класс PropertyInfo - https://docs.microsoft.com/en-us/dotnet/api/system.reflection.propertyinfo?view=net-5.0
- класс ConstructorInfo - https://docs.microsoft.com/en-us/dotnet/api/system.reflection.constructorinfo?view=net-5.0
- класс MethodInfo - https://docs.microsoft.com/en-us/dotnet/api/system.reflection.methodinfo?view=net-5.0
- класс FieldInfo - https://docs.microsoft.com/en-us/dotnet/api/system.reflection.fieldinfo?view=net-5.0