русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Динамические сборки


Дата добавления: 2015-07-09; просмотров: 633; Нарушение авторских прав


Всё, о чём писалось до этого момента – суть СТАТИЧЕСКИЕ СБОРКИ. Статические сборки существуют в виде файлов на диске или других носителях. В случае необходимости загружаются в оперативную память и выполняются благодаря функциональным возможностям класса Assembly.

Динамические сборки создаются непосредственно в ходе выполнения приложения (статической сборки) и существуют в оперативной памяти. По завершении выполнения приложения обречены на бесследное исчезновение, если, конечно, не были предприняты особые усилия по их сохранению на диск.

Для работы с динамическими сборками используется пространство имён System.Reflection.Emit.

Emit – излучать, испускать, выпускать (деньги).

Это множество типов позволяет создавать и выполнять динамические сборки, а также ДОБАВЛЯТЬ НОВЫЕ типы и члены в загруженные в оперативную память сборки.

Пространство имен System.Reflection.Emit содержит классы, позволяющие компилятору или инструментальным средствам создавать метаданные и инструкции промежуточного языка MSIL и при необходимости формировать на диске PE-файл. Эти классы предназначены в первую очередь для обработчиков сценариев и компиляторов.

 

Список классов, структур и перечислений, входящих в пространство, прилагается.

 

Классы

Класс Описание
AssemblyBuilder Определяет и представляет динамическую сборку.
ConstructorBuilder Определяет и представляет конструктор динамического класса.
CustomAttributeBuilder Помогает в построении пользовательских атрибутов.
EnumBuilder Описывает и предоставляет тип перечисления.
EventBuilder Определяет события для класса.
FieldBuilder Определяет и предоставляет поле. Этот класс не наследуется.
ILGenerator Создает инструкции промежуточного языка MSIL.
LocalBuilder Представляет локальную переменную внутри метода или конструктора.
MethodBuilder Определяет и предоставляет метод (или конструктор) для динамического класса.
MethodRental Позволяет быстро менять реализацию основного текста сообщения метода, задающего метод класса.
ModuleBuilder Определяет и представляет модуль. Получает экземпляр класса ModuleBuilder с помощью вызова метода DefineDynamicModule.
OpCodes Содержит поля, предоставляющие инструкции промежуточного языка MSIL для эмиссии членами класса ILGenerator (например, методом Emit).
ParameterBuilder Создает или связывает информацию о параметрах.
PropertyBuilder Определяет свойства для типа.
SignatureHelper Обеспечивает методы построения подписей.
TypeBuilder Определяет и создает новые экземпляры классов во время выполнения.
UnmanagedMarshal Представляет класс, описывающий способ маршалирования поля из управляемого в неуправляемый код. Этот класс не наследуется.

Структуры



Структура Описание
EventToken Предоставляет Token, возвращаемый метаданными для представления события.
FieldToken Структура FieldToken является объектным представлением лексемы, представляющей поле.
Label Представляет метку в потоке инструкций. Label используется вместе с классом ILGenerator.
MethodToken Структура MethodToken является объектным представлением лексемы, представляющей метод.
OpCode Описывает инструкцию промежуточного языка MSIL.
ParameterToken Структура ParameterToken является закрытым представлением возвращаемого метаданными лексемы, используемого для представления параметра.
PropertyToken Структура PropertyToken является закрытым представлением возвращаемого метаданными маркера Token, используемого для представления свойства.
SignatureToken Предоставляет Token, возвращенный метаданными для представления подписи.
StringToken Предоставляет лексему, которая предоставляет строку.
TypeToken Представляет маркер Token, который возвращается метаданными, чтобы представить тип.

Перечисления

Перечисление Описание
AssemblyBuilderAccess Определяет режимы доступа для динамической сборки.
FlowControl Описывает, каким образом инструкция меняет поток команд управления.
OpCodeType Описывает типы инструкций промежуточного языка MSIL.
OperandType Описывает тип операнда инструкции промежуточного языка MSIL.
PackingSize Задает один из двух факторов, определяющих выравнивание занимаемой полями памяти при маршаллинге типа.
PEFileKinds Задает тип переносимого исполняемого PE-файла.
StackBehaviour Описывает, как значения помещаются в стек или выводятся из стека.

 



<== предыдущая лекция | следующая лекция ==>
Игры со сборками из GAC | Динамическая сборка: создание, сохранение, загрузка, выполнение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.702 сек.