Изучение кода и метаданных при помощи рефлексии
В этой главе рассматривается
- Необходимость рефлексии
- Чтение метаданных и выполнение кода
- Практическое использование рефлексии
Метапрограммирование в.NET может включать в себя много различных концепций и методов. Некоторые области довольно легко понять, другие могут быть довольно сложными. Лучше всего начать – это «посетить» Reflection API, который был в .NET, начиная с версии 1. Он дает достаточно упрощенное введение в основные концепции метапрограммирования (например, интроспекцию), а также дает вам возможность заглянуть в структуру .NET кода.
Мы начнем путешествие по дороге .NET метапрограммирования, и вам предстоит пройти через несколько проблем, которые помогает решить рефлексия. Вы пройдете по примерам, демонстрирующим чтение содержимого сборки и запуск ее кода. Наконец, вы увидите реальные примеры, что мы использовали в прошлых проектах, которые демонстрируют, насколько полезна может быть рефлексия в создании обобщенных, компактных решений. Давайте начнем с пары проблем, связанных с метапрограммированием, которые вы можете решить при помощи Reflection API.
Чтение метаданных и выполнение кода
Непрактичное использование рефлексии