会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
瑞德船长
奋斗是最大的成就,努力过才没有遗憾
博客园
首页
新随笔
联系
订阅
管理
委托(delegate)的异步调用
private
void
ButAbout_Click(
object
sender, EventArgs e)
{
TestInvoke();
}
public
void
TestInvoke()
{
System.Func
<
string
,
string
>
convertMethod
=
UppercaseString;
convertMethod.BeginInvoke(name,
new
AsyncCallback(sendMessageHandleBack), convertMethod);
}
string
name
=
"
Dakota
"
;
void
sendMessageHandleBack(IAsyncResult ar)
{
System.Func
<
string
,
string
>
dlgt
=
(System.Func
<
string
,
string
>
)ar.AsyncState;
string
ret
=
dlgt.EndInvoke(ar);
//
int ret= dlgt.EndInvoke<string,int>(sendMessageHandleBack);
NewMethod(ret);
}
private
delegate
void
NewMethodHandle(
string
ret);
private
void
NewMethod(
string
ret)
{
this
.BeginInvoke(
new
NewMethodHandle(NewMethod2),
new
object
[]
{ ret }
);
}
private
void
NewMethod2(
string
ret)
{
this
.textBox1.Text
=
ret;
}
private
static
string
UppercaseString(
string
inputString)
{
Thread.Sleep(
4000
);
return
inputString;
}
posted @
2007-12-21 15:25
瑞德船长
阅读(
556
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告