WF4 0 3 變數與引數

2021-09-06 18:13:17 字數 2190 閱讀 6813

變數是資料的儲存位置,變數被宣告為工作流定義的一部分。變數在執行時獲取值,並將這些值儲存為工作流例項狀態的一部分。變數定義指定了變數的型別,還可指定變數的名稱。首先簡單的看乙個小例子,設定乙個變數,給變數賦值,然後輸出變數:

從工具箱拖乙個sequence,然後拖入乙個assign,最後拖入乙個writeline:

同樣的我們可以再後台自己寫**實現以上過程,**如下:

//定義變數

variablevars = new variable;

sequence sequence = new sequence()

,activities =

,//輸出變數

new writeline()}};

//呼叫活動

workflowinvoker.invoke(sequence);

變數在執行時的生存期與宣告該變數的活動的生存期相同。活動完成後,其變數將被清除,並且無法再引用。特別說明一下,如果你給變數乙個預設值或者希望變數時唯讀的,可以進行如下設定:

variablevars = new variable;
引數來定義資料流入流出活動的方式,每個引數都有特定的方向,in,out,inout;引數是wf的輸出和輸入介面,在同乙個流程內,所有activity共享一組引數.活動作者可使用強型別機制來公開該活動的引數。實現方法是宣告 inargument、outargument 和 inoutargument型別的屬性。簡單的看乙個demo:

拖sequence,設定引數argument1,argument2,argument3,賦值,輸出:

自定義活動中inargument,outargument的使用:

1.定義乙個helloactivity

public sealed class helloactivity : codeactivity

// 定義乙個字串型別的活動輸出引數

public outargumentouttext

protected override void execute(codeactivitycontext context)

}

2.流程圖中定義個變數outname,乙個輸出引數myvalue,將outname賦值給hellactivity的outtext,myvalue賦值給text,流程圖如下:

3.呼叫方式如下:

dictionarydic = new dictionary();

dic.add("myvalue", "programer");

通過以上小例子應該明白的就是inargument可以接收引數無法傳出,outargument無需傳入可以直接傳出;上面如果不是很清晰的話,繼續看乙個簡單賦值自定義活動:

定義v1,v2,v3三個變數,然後將v1賦值給v2,v3:

variablev1 = new variable()

;variablev2 = new variable();

variablev3 = new variable();

// 定義工作流

activity wf = new sequence

,activities =

,new writeline() ,

new assign()

,new writeline() }};

workflowinvoker.invoke(wf);

這篇算是補發文章吧,基礎文章還是慢慢寫吧,前面的有些例子比較簡單,對於沒有用過的可能不是很熟悉,補發之後希望會好一點,文章很基礎,高手可忽略,如果你覺得文章對你有所幫助,幫忙給個推薦吧,多謝~

WF4 0 3 變數與引數

變數是資料的儲存位置,變數被宣告為工作流定義的一部分。變數在執行時獲取值,並將這些值儲存為工作流例項狀態的一部分。變數定義指定了變數的型別,還可指定變數的名稱。首先簡單的看乙個小例子,設定乙個變數,給變數賦值,然後輸出變數 從工具箱拖乙個sequence,然後拖入乙個assign,最後拖入乙個wri...

深入淺出WF 活動引數與變數的使用

概述通過變數的使用來實現資料的傳遞。活動內部的變數和使用的引數 in 引數 關聯變數值可傳入內部 內部修改引數時,關聯變數不會更改 out 引數 關聯變數值無法傳入內部,內部引數修改時,會更新其關聯的變數 in out 引數 關聯變數值可傳入內部 內部引數修改時,會更新其關聯的變數 以上引數可以使用...

WF4 0 Beta1 用表示式關聯變數與引數

有 in引數 的activity 工作流 宿主workflowinstance myinstance new workflowinstance new sequence1 myinstance.run system.console.read 結果 下面用乙個例子說明 1.定義乙個有 int引數 的a...