2

シーケンス アクティビティに配置された 3 つのカスタム アクティビティを含むワークフローがあるとします。そして、結果を保持するために、シーケンス アクティビティ レベル (ルート) でブール変数 (「FinalResult」という名前) を作成しました。私の意図は、各カスタム アクティビティ結果を、アクティビティの終了後にカスタム アクティビティ実行メソッド内のルート レベル変数 (「FinalResult」) に割り当てたいということです。

これを取得するには、カスタム アクティビティで出力引数を宣言し、設計時に変数名をアクティビティのプロパティ ウィンドウに手動で配置して、ポリシーを設計します。

しかし、私はエンドユーザーがこれをしたくありません。エンド ユーザーだけがアクティビティをドラッグ アンド ドロップし、「FinalResult」変数に条件を書き込んでほしいだけです。内部的には、アクティビティの結果をプログラムで「FinalResult」変数に保持する必要があります。

最後に、「FinalResult」変数でワークフローの状態を維持し、ワークフローのいつでもどこからでもアクセスしたいと考えています。

以下のようにして、「プロパティが存在しません」というエラーが発生しました。

    WorkflowDataContext dataContext = context.DataContext;
    PropertyDescriptorCollection propertyDescriptorCollection = dataContext.GetProperties();
    foreach (PropertyDescriptor propertyDesc in propertyDescriptorCollection)
    {
        if (propertyDesc.Name == "FinalResult")
             {
                 object data = propertyDesc.GetValue(dataContext);// as WorkUnitSchema;
                 propertyDesc.SetValue(dataContext, "anil");
                 break;
             }
    }

同じ問題の可能な解決策をお知らせください。

4

1 に答える 1