日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WF4B1 的有返回值的Activity,Bookmark,有返回值Bookmark

發布時間:2025/4/5 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WF4B1 的有返回值的Activity,Bookmark,有返回值Bookmark 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WF4B1 的有返回值的Activity,Bookmark,有返回值Bookmark

?

目錄

1????NativeActivity<T>????1

1.1????定義有返回值的Activity????1

1.2????使用????1

2????Bookmark說明????2

3????Bookmark????2

3.1????定義Activity????2

3.2????定義工作流????2

3.3????宿主????3

3.4????結果????3

4????Bookmark(有返回值)????3

4.1????定義Activity????3

4.2????定義工作流????4

4.3????宿主????4

4.4????結果????5

?

?

NativeActivity<T>

?

類名:System.Activities.NativeActivity<TResult>

基類:System.Activities.WorkflowElement<TResult>

文件: System.Activities.dll

類型:abstract (void Execute(System.Activities.ActivityExecutionContext context))

?

定義有返回值的Activity

場景說明:有兩個[Int]參數v1,v2,返回值為v1+v2

?

public class myActivity<T> : NativeActivity<int>

{

public System.Activities.InArgument<int> v1

{ set; get; }

?

public System.Activities.InArgument<int> v2

{ set; get; }

?

protected override void Execute(ActivityExecutionContext context)

{

int r =(int)v1.Get(context) + (int)v2.Get(context);

this.Result.Set(context, r);

}

}

?

說明:

當在設計器中添加有返回值的Activity時,會出現一個對話框,要求指定返回值的類型

?

使用

流程

宿主

WorkflowInstance myInstance = new WorkflowInstance(new Sequence1());

?

myInstance.Run();

?

System.Console.Read();

結果

?

Bookmark說明

Bookmark可使用流程Idle并觸發流程的OnIdle

Bookmark

?

?

要定義具備Bookmark的Activit,可從 NativeActivity繼承

?

類名:System.Activities.NativeActivity

基類:System.Activities.WorkflowElement

文件: System.Activities.dll

類型:abstract (void Execute(System.Activities.ActivityExecutionContext context))

?

定義Activity

?

public class myBookmark : NativeActivity

{

?

public string bookmarkName { get; set; }

protected override void Execute(ActivityExecutionContext context)

{

context.CreateNamedBookmark(bookmarkName);

}

}

?

?

定義工作流

<p:Activity mc:Ignorable=""

x:Class="WorkflowConsoleApplication1.Sequence2"

xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities/design"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

xmlns:p="http://schemas.microsoft.com/netfx/2009/xaml/activities"

xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities"

xmlns:w="clr-namespace:WorkflowConsoleApplication1;assembly=WorkflowConsoleApplication1"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

>

<p:Sequence >

<p:WriteLine DisplayName="WriteLine:begin">["begin"]</p:WriteLine>

<w:myBookmark bookmarkName="mywait" />

<p:WriteLine DisplayName="WriteLine:end">["end"]</p:WriteLine>

</p:Sequence>

</p:Activity>

?

宿主

<Window x:Class="WpfApplication1.Window1"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="Window1" Height="300" Width="300">

<StackPanel>

<Button Content="啟動" Height="23" Name="button1" Width="75" Click="button1_Click" />

<Button Content="繼續" Height="23" Name="button2" Width="75" Click="button2_Click" />

?

</StackPanel>

?

</Window>

WorkflowInstance myInstance;

private void button1_Click(object sender, RoutedEventArgs e)

{

myInstance = new WorkflowInstance(new Sequence2());

myInstance.OnIdle += idel;

myInstance.Run();

?

}

IdleAction idel()

{

System.Console.WriteLine("等待提交.....");

return IdleAction.Nothing;

}

?

private void button2_Click(object sender, RoutedEventArgs e)

{

myInstance.ResumeBookmark("mywait",null);

}

結果

?

Bookmark(有返回值)

要定義具備有返回值的Bookmark Activit,可從 NativeActivity<T>繼承

?

類名:System.Activities.NativeActivity<TResult>

基類:System.Activities.WorkflowElement<TResult>

文件: System.Activities.dll

類型:abstract (void Execute(System.Activities.ActivityExecutionContext context))

?

定義Activity

public sealed class bookmark<T> : NativeActivity<T>

{

public bookmark()

: base()

{

}

?

public string bookmarkName { get; set; }

?

protected override void Execute(ActivityExecutionContext context)

{

context.CreateNamedBookmark(bookmarkName, new BookmarkCallback(bookmarkCallback));

?

}

?

void bookmarkCallback(ActivityExecutionContext context, Bookmark bookmark, object obj)

{

this.Result.Set(context, (T)obj);

?

}

}

?

定義工作流

<p:Activity mc:Ignorable=""

x:Class="myBookmarks.Sequence1"

xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities/design"

xmlns:m="clr-namespace:myBookmarks;assembly=myBookmarks"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

xmlns:p="http://schemas.microsoft.com/netfx/2009/xaml/activities"

xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<p:Sequence>

<p:Sequence.Variables>

<p:Variable x:TypeArguments="x:String" Name="rs" />

</p:Sequence.Variables>

<p:WriteLine DisplayName="開始">["請提交意見"]</p:WriteLine>

<m:bookmark x:TypeArguments="x:String" DisplayName="等待意見" Result="[rs]" bookmarkName="mywait" />

<p:WriteLine DisplayName="顯示結果">[rs]</p:WriteLine>

</p:Sequence>

</p:Activity>

?

宿主

<Window x:Class="WpfApplication1.Window1"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="Window1" Height="300" Width="300">

<Canvas>

<Button Canvas.Left="27" Canvas.Top="31" Content="啟動流程" Height="23" Name="button1" Width="75" Click="button1_Click" />

<Button Canvas.Left="27" Canvas.Top="111" Content="繼續" Height="23" Name="button2" Width="75" Click="button2_Click" />

<TextBox Canvas.Left="123" Canvas.Top="112.157" Height="23" Name="textBox1" Width="120" />

</Canvas>

</Window>

WorkflowInstance myInstance;

private void button1_Click(object sender, RoutedEventArgs e)

{

myInstance = new WorkflowInstance(new Sequence1());

myInstance.OnIdle += idel;

myInstance.Run();

}

?

IdleAction idel()

{

System.Console.WriteLine("等待提交.....");

return IdleAction.Nothing;

}

?

private void button2_Click(object sender, RoutedEventArgs e)

{

myInstance.ResumeBookmark("mywait", this.textBox1.Text);

}

?

結果

?

?

?

?

?

轉載于:https://www.cnblogs.com/foundation/archive/2009/06/08/1498624.html

總結

以上是生活随笔為你收集整理的WF4B1 的有返回值的Activity,Bookmark,有返回值Bookmark的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜草逼| 91看黄| 精品人妻伦九区久久aaa片 | 亚洲成人a v | 亚洲视频在线观看网址 | 国产一级片免费播放 | 国产精品99在线观看 | 日韩国产精品久久 | 麻豆视频免费入口 | 国产一区不卡视频 | 丁香六月婷婷激情 | 98精品国产 | 久久精彩| 小草av在线 | 国产xxxx裸体xxx免费 | av午夜影院 | 在线a网| 日本欧美在线 | 黄色91在线观看 | 在线免费观看日韩 | 免费黄色av电影 | 亚洲少妇18p | 欧美亚洲精品一区二区 | 成人午夜在线免费观看 | 国产成人亚洲综合a∨婷婷 台湾a级片 | 色香蕉在线 | 三上悠亚中文字幕在线播放 | 在线看一级片 | 91精品久久香蕉国产线看观看 | 免费黄色av片| 日韩欧美性视频 | 精品少妇一区二区三区免费观看 | 色六月婷婷 | 91在线精品秘密一区二区 | 无码熟妇αⅴ人妻又粗又大 | 热玖玖 | 久久激情视频 | 久久久久成人精品无码 | 91网页入口| 欧美老女人xx | 免费观看在线视频 | 97视频资源 | 成人黄色小说在线观看 | 超碰黄色 | 国产女人精品 | 欧美男同又粗又长又大 | 波多野结衣在线观看一区二区三区 | 色一情 | 丰满少妇一区二区三区专区 | 国产高中女学生第一次 | 波多野结衣电影免费观看 | 国产9区 | 久久激情网| 国产黄色免费观看 | 久久久久亚洲色欲AV无码网站 | 操操操操网 | 欧美国产综合视频 | 96av在线视频 | 成人激情四射网 | 中文字幕一区二区在线观看 | 久久久久久人妻一区二区三区 | 免费在线观看av片 | 激情天堂网 | 日韩一级在线视频 | 国产精品又黄又爽又色无遮挡 | 麻豆久久久9性大片 | 香蕉视频911 | 亚洲av无码成人精品区 | 宅男噜噜噜666在线观看 | 亚洲欧美综合在线观看 | 不卡的中文字幕 | 亚洲激情视频网 | 国产成人精品无码免费看81 | 国模吧无码一区二区三区 | 黄色永久视频 | 中文在线视频观看 | 国产麻豆成人精品av | 午夜伦视频 | 日本少妇网站 | 成人一区二区三区仙踪林 | 少女情窦初开的第4集在线观看 | 亚洲av无码一区二区乱孑伦as | 秘密基地免费观看完整版中文 | 国产丝袜视频在线 | 特黄特色特刺激免费播放 | 极品色av | 天堂va蜜桃一区 | 37p粉嫩大胆色噜噜噜 | 天天做日日做 | 亚洲香蕉在线观看 | 一区二区三区福利 | 国产人妻精品久久久久野外 | 蜜桃av噜噜一区二区三区网址 | 久久2019 | 欧美最顶级a∨艳星 | www视频在线免费观看 | 男人操女人的网站 | 久久成人黄色 | 无码国产精品一区二区免费式直播 |