Встроенный код в пользовательских действиях - PullRequest
0 голосов
/ 05 июля 2011

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

Итак, мне нужно что-то вроде пользовательского действия с многострочным ExpressionTextBox или CodeEditor (с intellisense) для записи этого кода в строку для выполнения в методе Execute моего пользовательского действия.

Как вы думаете, это возможно?

Заранее спасибо,

Марк

Ответы [ 2 ]

0 голосов
/ 05 июля 2011

Возможно ли это?Возможно.

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

Для редактора вы можете использовать AvalonEdit , редактор кода WPF, найденный в SharpDevelop.Я не использовал его раньше, поэтому я не могу сказать вам, сколько работы вам нужно сделать, чтобы заставить работать intellisense и проверку.

Во время выполнения вы можете использовать CSharpCodeProvider дляскомпилируйте код и затем выполните его во время выполнения.Скит делает это для своего приложения Snippy, Вы можете получить источник здесь.

Так что вы можете сделать это.После долгих трудов и трудностей.

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

0 голосов
/ 05 июля 2011

Вы не можете сделать это.В Wf4 в коде есть полное разделение между разметкой, XAML и реализацией.

...