この文書の最新版は
http://naka.wankuma.com/site/column/dotnet/00034.htm
今後.NET 3.0系のことをこまごま書いていくと思います。(WCFみたいに)
今回はWF
いろいろな場でしゃべらせていただくときには、WFが一番お勧めだって言い続けています。
簡単なWFのサンプルがこちらの図
まず1つ目のアクティビティで処理を行います。
private void codeActivity1_ExecuteCode(object sender, EventArgs e)
{
CodeActivity ca = (CodeActivity)sender;
this.UserData["value"] = 1;
}
単純にUserDataというDictionaryに1を設定しています。
次のIfElseActivityではどちらに処理を流すかをプロパティで設定できます。
左と、右の流れでアクティビティを1つずつ設定していますが、それらは
private void codeActivity2_ExecuteCode(object sender, EventArgs e)
{
Console.WriteLine("成功");
}
private void codeActivity3_ExecuteCode(object sender, EventArgs e)
{
Console.WriteLine("失敗");
}
どうでもいいコードの見本ですが(^^;;
最後の4番目のアクティビティが
private void codeActivity4_ExecuteCode(object sender, EventArgs e)
{
string 待機 = Console.ReadLine();
}
どうでもいい待機行です。
WFではこのように各種アクティビティを組み合わせて1本のプログラムを作り上げます。
今回の例はシーケンシャルワークフローと言って簡単な流れを記述するもので、ステートマシンワークフローというものもあります。
#順次