簡體   English   中英

如果InvokeMethod活動返回一個對象,如何在工作流中分配變量?

[英]How to assign a variable in a workflow if InvokeMethod activity returns an object?

我在Windows Workflow Foundation中有一個InvokeMethod活動。 這個工作流程非常簡單:

  1. 向用戶詢問他/她的身高
  2. 如果身高大於5.9,則詢問他/她的個人資料詳細信息
  3. 顯示個人資料詳細信息

為此,我創建了一個工作流程,如下所示: 在此處輸入圖片說明

如何分配從InvokeMethod返回的對象作為變量?

我已將代碼發布在GitHub上

這是Visual Studio屬性中的解決方案:

首先向您的工作流程添加一個變量:

打印屏幕工作流程的變量

將InvokeMethod活動放入您的工作流工作區並編輯屬性:

PrintScreen(InvokeMethod的屬性)

  1. 方法名稱:輸入您的方法名稱
  2. 參數:設置參數(方向:在,類型: typeNeeded ,值yourValue
  3. 結果:輸入先前定義的工作流中的變量名稱
  4. TargetType:設置方法返回類型的類型

這是XAMLX中的解決方案

xmlns:mca="clr-namespace:Microsoft.CSharp.Activities;assembly=System.Activities"
xmlns:p1="http://schemas.microsoft.com/netfx/2009/xaml/activities"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
xmlns:sap2010="http://schemas.microsoft.com/netfx/2010/xaml/activities/presentation"

<p1:InvokeMethod sap2010:WorkflowViewState.IdRef="InvokeMethod_1" MethodName="YourMethodName" TargetType="x:Object">
    <p1:InvokeMethod.Result>
        <p1:OutArgument x:TypeArguments="x:Object">
            <mca:CSharpReference x:TypeArguments="x:Object">workflowVariableName</mca:CSharpReference>
        </p1:OutArgument>
    </p1:InvokeMethod.Result>
    <p1:InArgument x:TypeArguments="x:Int32">
        <mca:CSharpValue x:TypeArguments="x:Int32">variableNamePassedToMyMethod;</mca:CSharpValue>
    </p1:InArgument>
</p1:InvokeMethod>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM