Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103561
  • 博文数量: 16
  • 博客积分: 1435
  • 博客等级: 上尉
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-15 18:51
个人简介

Software

文章分类

全部博文(16)

文章存档

2012年(1)

2011年(1)

2010年(2)

2009年(1)

2008年(6)

2007年(5)

我的朋友

分类: 嵌入式

2012-12-20 01:42:23

C#有一个很好功能,
那就是anonymous delegate。

它省略了外在定义的函数,
而且是简单的而不需要对外暴露,
即临时定义的本地函数与参数。

比如:一个简单的线程,当它完成了任务后就自我销毁。
这做法简洁。

new Thread(delegate() 
{
for(int cnt = 0; cnt< 15; cnt++)
{
//do something
}
}).Start();

以上的线程函数,完成任务后自我销毁。


另外一个就是在其他的线程里调用当前GUI的函数时的Invoke函数。

MethodInvoker mt = new MethodInvoker(delegate()
{
tbTest.Text = "Hello World!";
});
if (InvokeRequired)
Invoke(mt);
else mt();

以上的方法都把它们的功能、参数、都嵌入在一个函数中。
即简洁、不外露又能自我销毁,
达到了encapsulation的功效。

阅读(1251) | 评论(0) | 转发(0) |
0

上一篇:博客已升级,请注意变更地址

下一篇:没有了

给主人留下些什么吧!~~