程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WF 4.0基礎篇(七) 數據的傳遞 變量與參數的使用

WF 4.0基礎篇(七) 數據的傳遞 變量與參數的使用

編輯:關於.NET

本節主要介紹如何在WF4.0中參數與變量的使用原則與技巧,這些內容是學習WF4.0首先要掌握的

本文例子下載:

http://files.cnblogs.com/foundation/VariablesAndArgumentsSample.rar

本文例子說明

數據的傳遞 變量與參數的使用

[參數] 可以用 [表達式方式] 與 [變量]綁定

[In 參數],關聯變量值可傳入內部;內部修改參數時,關聯變量不會更改

說明:

1.定義一個[InChangeActivity],有一個string型[In 參數]myIn

在[Execute]方法中打印myIn的值並修改myIn的值後再次打印

2.在xaml工作流中添加一個string型[myVariable]變量

3. 在xaml工作流中添加一個[Assign],為[myVariable]變量賦值

4. 在xaml工作流中添加[InChangeActivity], [InChangeActivity.myIn]綁定到[myVariable]變量

5. 在xaml工作流中添加[WriteLine],打印[myVariable]變量值

InChangeActivity

public sealed class InChangeActivity : CodeActivity
{
public InArgument<string> myIn { get; set; }
protected override void Execute(CodeActivityContext context)
{
string s1 = context.GetValue(this.myIn);
System.Console.WriteLine("傳入值為a:{0}", s1);
//
context.SetValue(myIn, Guid.NewGuid().ToString());
//
string s2 = context.GetValue(this.myIn);
System.Console.WriteLine("內部修改:{0}", s2);
}
}

工作流

宿主

WorkflowInvoker.Invoke(new InChangeWorkflow());

結果

[Out 參數] 關聯變量值無法傳入內部,內部參數修改時,會更新其關聯的變量

說明:

1.定義一個[OutChangeActivity],有一個string型[Out 參數]myOut

在[Execute]方法中打印myOut的值並修改myOut的值後再次打印

2.在xaml工作流中添加一個string型[myVariable]變量

3. 在xaml工作流中添加一個[Assign],為[myVariable]變量賦值

4. 在xaml工作流中添加[OutChangeActivity], [OutChangeActivity.myOut]綁定到[myVariable]變量

5. 在xaml工作流中添加[WriteLine],打印[myVariable]變量值

OutChangeActivity

public sealed class OutChangeActivity : CodeActivity
{
public OutArgument<string> myOut { get; set; }
protected override void Execute(CodeActivityContext context)
{
string s1 = context.GetValue(this.myOut);
System.Console.WriteLine("傳入值為:{0}", s1);
//
context.SetValue(myOut, Guid.NewGuid().ToString());
//
string s2 = context.GetValue(this.myOut);
System.Console.WriteLine("內部修改:{0}", s2);
}
}

工作流

宿主

WorkflowInvoker.Invoke(new OutChangeWorkflow());

結果

[In/Out 參數]關聯變量值可傳入內部;內部參數修改時,會更新其關聯的變量

說明:

1.定義一個 [InOutChangeActivity],有一個string型[InOut 參數]myInOut

在[Execute]方法中打印myInOut的值並修改myInOut的值後再次打印

2.在xaml工作流中添加一個string型[myVariable]變量

3. 在xaml工作流中添加一個[Assign],為[myVariable]變量賦值

4. 在xaml工作流中添加[InOutChangeActivity], [InOutChangeActivity.myInOut]綁定到[myVariable]變量

5. 在xaml工作流中添加[WriteLine],打印[myVariable]變量值

InOutChangeActivity

public sealed class InOutChangeActivity : CodeActivity
{
public InOutArgument<string> myInOut { get; set; }
protected override void Execute(CodeActivityContext context)
{
string s1 = context.GetValue(this.myInOut);
System.Console.WriteLine("傳入值為a:{0}", s1);
//
context.SetValue(myInOut, Guid.NewGuid().ToString());
//
string s2 = context.GetValue(this.myInOut);
System.Console.WriteLine("內部修改:{0}", s2);
}
}

工作流

宿主

WorkflowInvoker.Invoke(new InOutChangeWorkflow());

結果

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved