1

この記事では、再ホストされたワークフローデザイナー(Workflow Foundation 4を使用)でカスタムアクティビティを作成する方法を示します。この例でMyDelayActivityは、インターフェイスを実装IActivityTemplateFactoryし、入力にデフォルト値を指定することでaが作成されますDelay

ただし、アクティビティの入力を変更することもできますか?たとえばStartProcess、文字列を受け取り、文字列で指定されたプロセスを実行する新しいアクティビティを追加するとします。InvokeMethodアクティビティを追加し、メソッドとして指定Process.Startし、パラメーターとして文字列を含むコレクションを追加することで、ネイティブアクティビティでこれを実装できます。

StartProcess文字列入力のみのボックスを使用するだけで、これらすべてを単純化できますか?

4

2 に答える 2

2

もちろん、作業を行うためのアクティビティを作成し、InArgumentプロパティを追加して必要なデータを提供するだけです。アクティビティをデザインサーフェスにドロップすると、プロパティシートを使用して引数を設定できます。または、たとえばWriteLineアクティビティのように、デザインサーフェスで同じことを行うアクティビティデザイナを作成することもできます。

例:

public sealed class MyWriteLine : CodeActivity
{
    public InArgument<string> Text { get; set; }

    protected override void Execute(CodeActivityContext context)
    {
        string text = context.GetValue(this.Text);
        Console.WriteLine(text);
    }
}
于 2010-10-26T10:08:37.237 に答える
0

追加情報として、MSDN Webサイトには2つの非常に役立つビデオチュートリアルがあります。カスタムアクティビティの開発アクティビティデザイナーです。スピーカーは、受け入れられた回答者と同じモーリスだと思います:)

于 2010-10-28T09:45:51.580 に答える