本節主要介紹InvokeMethod 調用靜態方法,實例方法,params參數方法,out參數方法,ref參數方法,范型方法
本文例子下載:
http://files.cnblogs.com/foundation/InvokeMethodWorkflow.rar
本文例子說明
InvokeMethod 調用方法
類名 System.Activities.Statements.InvokeMethod 文件 System.Activities.dll 結構說明 繼承 AsyncCodeActivity<TResult>調用靜態方法
TargetType 屬性 : 方法的類名(浏覽方式),不能與TargetObject共存
MethotName 屬性 : 方法名 (字串方式)
Parameters 屬性 : 方法的參數,按方法參數順序,可以綁定到流程的參數上
Result 屬性 : 方法的返回值,可以綁定到流程的參數上
例:
1.定義一個具有靜態方法[myMethod]的類[ClassMethod]
2.在工作流中定義三個變量
int型變量p1,默認值為[1],做為[myMethod]方法的第一個參數
int型變量p2,默認值為[2],做為[myMethod]方法的第二個參數
int型變量r,用於接收[myMethod]方法的返回值
3.在流程中添加[InvokeMethod],參數配置見流程
4.在流程中添加[WriteLine],用於打印變量r
ClassMethod public class ClassMethod
調用實例方法
TargetObject 屬性 : 對象名,綁定到流程的參數上(浏覽方式),不能與TargetType共存
MethotName 屬性 : 方法名 (字串方式)
Parameters 屬性 : 方法的參數,按方法參數順序,可以綁定到流程的參數上
Result 屬性 : 方法的返回值,可以綁定到流程的參數上
例:
1.定義一個具有靜態方法[myMethod]的類[instanceMethod]
2.在工作流中定義三個變量
int型變量p1,默認值為[1],做為[myMethod]方法的第一個參數
int型變量p2,默認值為[2],做為[myMethod]方法的第二個參數
int型變量r,用於接收[myMethod]方法的返回值
3.在流程中添加[InvokeMethod],參數配置見流程
4.在流程中添加[WriteLine],用於打印變量r
instanceMethod public class instanceMethod
調用params參數方法
設置[Parameters] 集合,以指方法的參數
TargetObject 屬性 : 對象名,綁定到流程的參數上(浏覽方式),不能與TargetType共存
MethotName 屬性 : 方法名 (字串方式)
Parameters 屬性 : 方法的參數,按方法參數順序,可以綁定到流程的參數上
Result 屬性 : 方法的返回值,可以綁定到流程的參數上
例:
1.定義一個具有靜態方法[myMethod]的類[paramsMethod]
2.在工作流中定義四個變量
string型變量p1,默認值為[wxd],做為[myMethod]方法params的第一個參數
string型變量p2,默認值為[lzm],做為[myMethod]方法params的第二個參數
string型變量p3,默認值為[lzm],做為[myMethod]方法params的第三個參數
string型變量r,用於接收[myMethod]方法的返回值
3.在流程中添加[InvokeMethod],參數配置見流程
4.在流程中添加[WriteLine],用於打印變量r
paramsMethod public class paramsMethod
調用out參數方法
設置[Parameters] 集合,[Direction] 設為 [Out]
TargetObject 屬性 : 對象名,綁定到流程的參數上(浏覽方式),不能與TargetType共存
MethotName 屬性 : 方法名 (字串方式)
Parameters 屬性 : 方法的參數,按方法參數順序,可以綁定到流程的參數上
Result 屬性 : 方法的返回值,可以綁定到流程的參數上
例:
1.定義一個具有靜態方法[myMethod]的類[outMethod]
2.在工作流中定義二個變量
int型變量p,默認值為[1],做為[myMethod]方法的第一個參數
int型變量o,默認值為[2],用於接收[myMethod]方法的out值
3.在流程中添加[InvokeMethod],參數配置見流程
4.在流程中添加[WriteLine],用於打印變量o
outMethod public class outMethod
調用ref參數方法
設置[Parameters] 集合,[Direction] 設為 [In/Out]
TargetObject 屬性 : 對象名,綁定到流程的參數上(浏覽方式),不能與TargetType共存
MethotName 屬性 : 方法名 (字串方式)
Parameters 屬性 : 方法的參數,按方法參數順序,可以綁定到流程的參數上
Result 屬性 : 方法的返回值,可以綁定到流程的參數上
例:
1.定義一個具有靜態方法[myMethod]的類[outMethod]
2.在工作流中定義二個變量
int型變量p,默認值為[2],做為[myMethod]方法的第一個參數
int型變量ro,默認值為[8],用於接收[myMethod]方法的ref值
3.在流程中添加[InvokeMethod],參數配置見流程
4.在流程中添加[WriteLine],用於打印變量ro
outMethod public class outMethod
調用范型方法
[InvokeMethod ]可以調用范型方法,設置[GenericTypeArguments]集合,以指定范型方法的范型參數
設置[Parameters] 集合,以指方法的參數
TargetObject 屬性 : 對象名,綁定到流程的參數上(浏覽方式),不能與TargetType共存
MethotName 屬性 : 方法名 (字串方式)
Parameters 屬性 : 方法的參數,按方法參數順序,可以綁定到流程的參數上
Result 屬性 : 方法的返回值,可以綁定到流程的參數上
GenericTypeArguments 集合:以指定范型方法的范型參數
例:
1.定義一個具有靜態方法[myMethod]的類[genericMethod]
2.在工作流中定義三個變量
int型變量p1,默認值為[10],做為[myMethod]方法的第一個參數
int型變量p2,默認值為[20],做為[myMethod]方法的第二個參數
int型變量r,用於接收[myMethod]方法的返回值
3.在流程中添加[InvokeMethod],參數配置見流程
4.在流程中添加[WriteLine],用於打印變量r
genericMethod public class genericMethod異步調用方法
這部分內容將在下一節[Delay 與WF4中的線程]中詳細講解