代码内联自定义活动

时间:2011-07-05 08:40:06

标签: workflow workflow-foundation workflow-foundation-4

我想创建一个自定义活动,我们的工程师可以创建wf定义,编写一些小代码块,如创建/转换数据结构,而无需为每个编写,编译和部署代码活动。 / p>

所以,我需要的是类似于使用ExpressionTextBox多线的自定义活动或CodeEditor(使用智能感知)来内联编写此代码,以便在我的自定义活动的Execute方法中执行。

你认为有可能吗?

提前致谢,

马克

2 个答案:

答案 0 :(得分:0)

你不能这样做。在Wf4中,代码中的标记,XAML和实现之间存在完全分离。

答案 1 :(得分:0)

这可能吗?可能。

您必须提供体验的每个部分。这意味着,您必须提供可以配置脚本的自定义Activity,以便在运行时编译和执行,UI中此Activity的代码编辑体验,以及报告错误的某种类型的代码验证工具。代码给用户。

对于编辑器,您可以使用在SharpDevelop中找到的WPF代码编辑器AvalonEdit。我之前没有使用它,所以我不能告诉你为了使智能感知和验证有效,你需要做多少工作。

在运行时,您可以使用CSharpCodeProvider编译代码,然后在运行时执行它。 Skeet为他的Snippy应用you can get the source here.

做了这个

所以你可以做到这一点。经过多年的努力和艰辛。

我认为更好的解决方案是提供一些小型活动,它们代表运行时编码体验的原子组件,可用于组合您希望用代码编写的逻辑。这更符合WF的精神。