Workflow 工作流4.0中的InvokeMethod
我们有一个应用程序,其中我们正在创建一个活动(比如=CallA),这个活动将在Workfow项目中使用。此活动(CallA)将调用另一个类(和另一个命名空间)中存在的方法。我已经为下面调用的方法编写了一个示例代码:-Workflow 工作流4.0中的InvokeMethod,workflow,workflow-foundation,workflow-foundation-4,Workflow,Workflow Foundation,Workflow Foundation 4,我们有一个应用程序,其中我们正在创建一个活动(比如=CallA),这个活动将在Workfow项目中使用。此活动(CallA)将调用另一个类(和另一个命名空间)中存在的方法。我已经为下面调用的方法编写了一个示例代码:- namespace WorkflowApplication1 { class Class1 { public int Trial(int a, int b) { return 23; }
namespace WorkflowApplication1
{
class Class1
{
public int Trial(int a, int b)
{
return 23;
}
}
}
我们希望使用工具箱中提供的InvokeMethod特性,而不希望使用codeactivity
如果有人使用过WF 4.0的此功能,请提供帮助
提前感谢。在目标类型中,您必须指向实现该方法的类 在方法名中,您必须写入名称。如果该方法不是静态的,那么您需要创建该类类型的变量,预先初始化它并在TargetObject属性中使用它。在WF中需要一个变量来存储结果(使用Invoke活动的result属性)
希望对您有所帮助下面是对这个问题的建议 1) 创建Windows窗体应用程序
2) 添加一个名为Class 1的类,并将名称空间更改为WorkflowApplication1
3) 将整个代码从类1更改为
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WorkflowApplication1
{
public class Class1
{
public int Trial(int a, int b)
{
return 23;
}
}
}
4) 添加名为Activity1的活动5) 编译解决方案
6) 打开Activity1并添加序列
7) 单击序列并创建2个变量,如下所示
8) 插入InvokeMethod和Writeline活动,如下所示
9) 编辑Invoke方法的参数,如下所示
10) 添加按钮并单击两次以创建单击事件
11) 在Form1类中添加以下代码并更改按钮1\u单击事件
namespace Generic
{
public partial class Form1 : Form
{
WorkflowApplication WFApp = null;
AutoResetEvent WFAppEvent = null;
public void RunWFApp()
{
WFAppEvent = new AutoResetEvent(false);
WFApp = new WorkflowApplication(new Activity1());
WFApp.Completed = delegate (WorkflowApplicationCompletedEventArgs e)
{
WFAppEvent.Set();
};
WFApp.Run();
}
private void button1_Click(object sender, EventArgs e)
{
RunWFApp();
}
...
...
}
}
12) 打开输出窗口(Ctrl-Alt-O)。运行应用程序,单击按钮并检查数字23是否显示在输出窗口中
我知道这是几年后的事了,但是使用InvokeMethod而不是简单的赋值(我发现它更可读)有什么好处?您可以做的不仅仅是赋值。就这样。