Абстракции порождаемого отражения
Абстракции отражательной эмиссии близко соответствуют системе общих типов, служащей основой общеязыковой среды выполнения.
Сборка — это настраиваемый набор загружаемых модулей кода и других ресурсов, совместно реализующих единицу функциональности. Сборки имеют имена, образующие основу иерархии имен системы общих типов.
В этом разделе сборки подразделяются на статические и динамические. Статической сборкой является сборка, загруженная с диска. Динамической сборкой является сборка, созданная с помощью отражательной эмиссии. В следующей таблице в алфавитном порядке перечислены абстракции, используемые отражательной эмиссией.
Абстракция |
Описание |
---|---|
Класс, определяющий и представляющий динамическую сборку. Наследует класс Assembly. |
|
Класс, определяющий и представляющий конструктор, который описывает операцию, создающую экземпляр типа. Наследует класс ConstructorInfo. |
|
Класс, помогающий определить настраиваемые атрибуты. |
|
Класс, определяющий глобальный метод, который может выполняться, используя делегат. |
|
Класс, помогающий определить и представить перечисляемый тип. Наследует класс Type. |
|
Класс, используемый для определения и представления события. Наследует класс EventInfo. События типа объектов указывают именованные транзакции состояний, в которых подписчики могут выполнять или отменять регистрацию с помощью методов доступа. |
|
Класс, используемый для определения и представления поля. Наследует класс FieldInfo. Поле является именованной частью значения. Тип может иметь элементы полей. Модуль или тип также может ссылаться на поля, определенные в разделе .sdata переносимого исполняемого файла (PE). |
|
Класс, используемый для определения и представления промежуточного языка MSIL. Во время выполнения компилятор по требованию (JIT-компилятор) транслирует инструкции промежуточного языка (MSIL) в машинный код. |
|
Класс, являющийся непрозрачным представлением метки, которая используется классом ILGenerator. Метка соответствуют определенному положению в коде MSIL. |
|
Класс, представляющий локальную переменную, объявленную в теле метода. |
|
Класс, используемый для определения и представления метода. Наследует класс MethodInfo. Метод описывает операцию, которую можно выполнить над значениями типа. |
|
Класс, используемый для определения и представления модуля. Наследует класс Module. Модуль представляет единицу компиляции или единицу разработки. Модуль, созданный с помощью функций API отражательной эмиссии, называют динамическим модулем в течение времени выполнения в среде, в которой создан модуль. Термин "динамический модуль" не применяется к модулю, который был сохранен на диске, а затем загружен с диска. Динамические модули, которые можно сохранять на диске в виде PE-файла, называют постоянными динамическими модулями. Динамические модули, которые могут существовать только в памяти, называют временными динамическими модулями. |
|
Класс, используемый для определения и представления параметра. Наследует класс ParameterInfo. Параметры указывают местоположения, представляющие аргументы методов или конструкторов. |
|
Класс, используемый для определения и представления свойства. Наследует класс PropertyInfo. Свойства типа объектов указывают именованные значения, которые доступны с помощью методов доступа, читающих и записывающих эти значения. |
|
Класс, используемый для определения и представления типа. Наследует класс Type. Типы описывают значения. Тип определяет допустимые значения и допустимые операторы, поддерживаемые значениями этого типа. Типы могут содержать члены, которые являются типами, методами, полями, свойствами или событиями. |