2010-09-13 5 views
2

Есть ли простой генератор кода .NET для конечного конечного автомата, управляемого событиями?Есть ли простой генератор кода .NET для конечного конечного автомата, управляемого событиями?

Я устал от этого вручную для объектов пользовательского интерфейса. Мне просто нужно определение перечисления, оператор switch и каждый вызов функции. Мне не нужна «библиотека».

См. Конечный автомат с конечным состоянием по адресу http://en.wikipedia.org/wiki/Event_driven_finite_state_machine.

Государственные машины в C# 3.0 с использованием шаблонов T4 на http://aabs.wordpress.com/2008/06/26/state-machines-in-c-30-using-t4-templates/ похоже, что это то, что я хочу, но ссылка на код примера нарушена.

ответ

-1

Как вы сказали, вам просто необходимо:

определения перечислимого типа, держа переменное этого, соглашение об именовании, которое включает в методе имя соответствующего состояния перечислимого, вызова с отражением и обновлением переменного холдинга перечисление.

Вышеупомянутый не сгенерированный код, но я не понимаю, почему его не используют. Вы должны быть в состоянии испечь один быстро. Альтернатива вместо использования отражения будет содержать в списке для каждого состояния, которое будет вызываться Func <>, и генерация, которая должна быть простой с шаблоном T4.


пс. Я, как правило, гораздо полезнее, но, как сформулировал вопрос, он просил его^- ^. Тем не менее, я очень серьезно отношусь к вышеизложенному, так как это не так много времени (особенно с помощью справки stackoverflow в любой части, о которой OP может не знать) /, и OP писал, что, как он это делал, ручной тонны раз.

+0

-1 для не отвечая вопрос. – AMissico

+0

ну, я пропускаю этот значок, который вы получаете при удалении ответа с -3 голосами, поэтому его k, lol. Вернемся к серьезности, что образец T4, который вы связали в редактировании, выглядит более сложным, чем нужно, я настоятельно советю держать его простым и основывать его на простых C# enum + использованиях, как я упоминал в своем ответе. – eglasius

+0

@eglasisu - Ха, я получил этот значок несколько недель назад. -1 больше. Я понимаю ваш ответ и не обесцениваю его. Просто ищите что-то конкретное для событий, более зрелых и стабильных, о которых кто-то может знать. T4 для меня новичок, но я считаю, что могу использовать его в будущем. – AMissico

0

Если бы я был на вашем месте, я бы скачать пробную версию Enterprise Architect:

http://www.sparxsystems.com.au/products/ea/index.html

Я бы тогда моделировать мой сценарий, а затем использовать генератор кода. В зависимости от того, сколько вам нужно сгенерировать, вам может понадобиться изучить некоторые из более продвинутых параметров продукта, например скрипты, которые могут позволить вам генерировать несколько изменяющих время параметров на основе списка.

P.S. Я не работаю для систем Sparx :-), я действительно люблю свои инструменты.

+1

не знаю об инструменте, но это звучит так, словно убивает муху с помощью пушки: P – eglasius

+0

-1, не просто. – AMissico

 Смежные вопросы

  • Нет связанных вопросов^_^