Генерация кода
Для генерации кода на языке C#используется дополнение CSMultyThread.На рисунке 3.7.2.1 показаны настройки дополнения. В форме настроек требуется ввести имя пространства имён, в котором будут лежать все сгенерированные классы, а также экземпляры автоматов, которые будут сразу запущены при старте программы, для которой этот код и генерируется.
Весь код генерируется в папке проекта.
Рисунок 3.7.2.1. Настройки CSMultyThread
Для каждого типа автомата генерируется класс в отдельном файле. При повторной генерации кода будет перезаписана только часть файла, которая находится внутри региона «----------------------------------------------------- Generated functions------ ».
Кроме того, в файл будут добавлены недостающие объявления методов, которые являются выходными воздействиями автомата. Объявление класса не
перезаписывается, поэтому сгенерированный класс можно наследовать и определять конструкторы с параметрами. Всё это не будет перезаписано при повторной генерации кода. Можно определять свои члены класса вне региона « Generated functions », и генератор кода не будет их
перезаписывать.
Все события записываются в перечисление (enum)в файле Events .cs.
Для обеспечения многопоточности генерируются классы EventQueue и ThreadManager.
Сгенерированный код не является завершенной программой. Для его использования требуется включить в свой проект сгенерированные классы и перечисление Events .cs. Для обработки событий у каждого класса есть два публичных метода ProcessEvent:
• на вход принимаются события из перечисления Events.cs;
• на вход принимаются строки с именами событий.
Генератор кода пишет в файл объявления всех методов класса, которые являются выходными воздействиями автомата. Тело каждого метода пользователь пишет самостоятельно. Генератор кода при повторном вызове не перезаписывает такие методы. Если генератор находит выходные воздействия, которые не были определены, он дописывает их определения. Кроме того, пользователь может определять собственные методы такого класса.
Внутрь региона «----------------- Generated functions----- » ничего
дописывать не рекомендуется, так как при повторной генерации кода оно будет удалено.
3.7.3.
Еще по теме Генерация кода:
- Требования к функциональным блокам коммутационного устройства
- Исследование микроструктуры и изломов закаленных низколегированных порошковых сталей
- Основные результаты и выводы
- Оценка быстродействия коммутационного устройства при использовании параллельно-конвейерной диспетчеризации пакетов
- ИСТОЧНИКИ АДМИНИСТРАТИВНОГО ПРАВА.
- Сведения об авторах
- Некоторые вопросы реформирования административного правосудия в Кыргызской Республике
- Тема: ПРОИЗВОДСТВО В СУДЕ КАССАЦИОННОЙ ИНСТАНЦИИ
- О понятии финансового опциона
- § 2. Понятие и функции нотариата
- ГРИБОВСКАЯ Наталья Юрьевна. ЛЕКСИКА ТВЕРСКИХ ГОВОРОВ, ХАРАКТЕРИЗУЮЩАЯ ЧЕЛОВЕКА (СЕМАНТИКО-МОТИВАЦИОННЫЙ АСПЕКТ). Автореферат диссертации на соискание ученой степени кандидата филологических наук. Тверь - 2019, 2019
- 26. Возникновение гражданских правоотношений не предусмотренных в ГК
- П.2 Частотная зависимость условий существования объемных и эванесцентных волн TM- (ТЕ-) типа и соответствующих типов сечений ПВВ в коллинеарной фазе скомпенсированого ЛО АФМ с ЦАС. Полярная MOK
- 59 ВИДЫ И ФОРМЫ ДОГОВОРА.