?? workflow17.xoml.cs
字號:
//《WF編程》系列之17 - 工作流與外部事件:工作流參數
//3.2.2 工作流參數
//Runtime的CreateWorkflow方法有一個重載允許我們向新的工作流實例傳遞參數,參數的類型是Dictionary(名值對的集合).
//當工作流Runtime創建了新的工作流實例時,它會嘗試尋找每個參數名稱的伴隨屬性(Companion Property).伴隨屬性是工作流對象中公開并可寫的屬性,它們有著和工作流參數項相同的名字.舉例來說,工作流會接受上面代碼中的FirstName和LastName參數是因為在其內部有著同樣名字的屬性:
//如果我們嘗試傳遞一個FullName參數,Runtime會拋出異常,因為FullName屬性是只讀的.Runtime無法為其找到相應的公開并可寫的伴隨屬性,
//Runtime會拋出System.ArgumentException異常.對于參數來說,必須有公開并可寫的屬性與之對應;
//而對屬性來說,并不是每一個公開并可寫的屬性都必須對應一個參數,輸入參數是可選的.
//工作流內的活動不需要關心如何取得參數值.Runtime會在工作流執行前將所有的參數指派給相應的屬性.
//在代碼中, CodeActivity的ExecuteCode事件將接收到的FirstName和LastName參數合并到FullName屬性中.
//不僅僅可以向工作流輸入數據,我們還可以將FullName屬性作為工作流的輸出參數.
//當工作流完成時,Runtime觸發WorkflowCompleted事件, 該事件的WorkflowCompletedEventArgs參數包含一個OutputParameters屬性(輸出參數的Dictionary集合),
//Runtime將復制每個公開可讀的工作流屬性到OutputParameters集合中.
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Drawing;
using System.Workflow.ComponentModel.Compiler;
using System.Workflow.ComponentModel.Serialization;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.Workflow.Runtime;
using System.Workflow.Activities;
using System.Workflow.Activities.Rules;
namespace WorkflowConsoleApplication1
{
public partial class Workflow17 : SequentialWorkflowActivity
{
public string FirstName
{
set { _firstName = value; }
}
private string _firstName;
//只寫
public string LastName
{
set { _lastName = value; }
}
private string _lastName;
//只讀
public string FullName
{
get { return this._firstName + "iii"+this._lastName ; }
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -