Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описывается набор управляемых типов в System.Reflection.Emit пространстве имен, позволяющий компилятору или средству выдавать метаданные и общий промежуточный язык (CIL) во время выполнения и при необходимости создавать переносимый исполняемый файл (PE) на диске. Обработчики скриптов и компиляторы являются основными пользователями этого пространства имен. В этом разделе функциональные возможности, предоставляемые System.Reflection.Emit пространством имен, называются вызовом отражения.
Reflection Emit предоставляет следующие возможности:
- Определите упрощенные глобальные методы во время выполнения, используя DynamicMethod класс, и выполните их с помощью делегатов.
- Определите сборки во время выполнения, а затем запустите их и (или) сохраните их на диске.
- Определите сборки во время выполнения, запустите их, затем выгрузите, чтобы позволить сборщику мусора освободить их ресурсы.
- Определите модули в новых сборках во время выполнения, а затем запустите и(или) сохраните их на диске.
- Определите типы в модулях во время выполнения, создайте экземпляры этих типов и вызовите их методы.
- Определите символьные сведения для определенных модулей, которые можно использовать средствами, такими как отладчики и профилировщики кода.
Помимо управляемых типов в System.Reflection.Emit пространстве имен существуют неуправляемые интерфейсы метаданных, описанные в интерфейсах метаданных (.NET Framework) и интерфейсах метаданных (.NET Framework). Управляемая генерация кода с использованием отражения обеспечивает более строгую проверку семантических ошибок и более высокий уровень абстрагирования метаданных, чем неуправляемые интерфейсы метаданных.
Другим полезным ресурсом для работы с метаданными и CIL является документация по инфраструктуре общего языка (CLI), особенно "Раздел II: определение метаданных и семантика" и "Набор инструкций CIL" секции III. Документация доступна в Интернете на веб-сайте Ecma.
Reference
OpCodes
Каталогизирует коды инструкций CIL, которые можно использовать для создания тел методов.
System.Reflection.Emit
Содержит управляемые классы, используемые для выдачи динамических методов, сборок и типов.
Type
Описывает Type класс, представляющий типы в управляемом отражении и создании отражений, который является ключом к использованию этих технологий.
System.Reflection
Содержит управляемые классы, используемые для изучения метаданных и управляемого кода.