📄 begin.cs
字号:
using System;
namespace Test
{
public class begin
{
static void Main()
{
wfTest.wfEngine 引擎=new wfTest.wfEngine();
一个工作流 obj1=new 一个工作流("12345");
一个工作流 obj2=new 一个工作流("12347");
引擎.AddInstance(obj1);
引擎.AddInstance(obj2);
引擎.AutoExecute(obj1.InstanceID);
引擎.AutoExecute(obj2.InstanceID);
System.Console.Read();
}
}
class 一个工作流:wfTest.wfTemplet
{
public 一个工作流(string InstanceID)
:base(InstanceID)
{
/*
* 结点A
* |
* |
* 结点B
* (true)/ \(false)
* / \
* 结点C 结点D
* \ /
* \ /
* 结点E
*/
//结点A:代码结点
wfTest.codeNode 结点A =new wfTest.codeNode(this.InstanceID,"结点A");
结点A.Code+=new wfTest.codeMethod(结点A_Code);
结点A.CodeParameter="hello wf";
//结点B:条件结点
wfTest.conditionNode 结点B=new wfTest.conditionNode(this.InstanceID,"结点B");
//结点B的条件表达式
wfTest.conditionExpression 条件表达式=new wfTest.conditionExpression();
条件表达式.leftExpression="123";//条件表达式左值
条件表达式.rightExpression ="1234";//条件表达式右值
结点B.expression=条件表达式; //绑定条件表达式到结点B
//结点C:代码结点
wfTest.codeNode 结点C =new wfTest.codeNode(this.InstanceID,"结点C");
结点C.Code+=new wfTest.codeMethod(结点C_Code);
结点C.CodeParameter="i am 结点C,条件的真结点";
//结点D:代码结点
wfTest.codeNode 结点D =new wfTest.codeNode(this.InstanceID,"结点D");
结点D.Code+=new wfTest.codeMethod(结点D_Code);
结点D.CodeParameter="这是_结点D,条件的假结点";
//结点E:代码结点
wfTest.codeNode 结点E =new wfTest.codeNode(this.InstanceID,"结点E");
结点E.Code+=new wfTest.codeMethod(结点E_Code);
结点E.CodeParameter="完成了";
//指定入口结点
this.CurrentNode=结点A;
//设置结点关系
结点A.NextNode =结点B;
结点B.NextNode =结点C;
结点B.ElseNode =结点D;
结点C.NextNode =结点E;
结点D.NextNode =结点E;
}
//结点A:代码
private void 结点A_Code(wfTest.wfNode sender, object data)
{
System.Console.WriteLine(sender.InstanceId + ":" + sender.NodeId + ":" + data.ToString());
}
//结点C:代码
private void 结点C_Code(wfTest.wfNode sender, object data)
{
System.Console.WriteLine(sender.InstanceId + ":" + sender.NodeId + ":" + data.ToString());
}
//结点B:代码
private void 结点D_Code(wfTest.wfNode sender, object data)
{
System.Console.WriteLine(sender.InstanceId + ":" + sender.NodeId + ":" + data.ToString());
}
//结点E:代码
private void 结点E_Code(wfTest.wfNode sender, object data)
{
System.Console.WriteLine(sender.InstanceId + ":" + sender.NodeId + ":" + data.ToString());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -