您的位置:首页 > 编程语言 > C语言/C++

由C++到C#:委托模型

2007-08-28 14:50 155 查看
偶用C#写.NET窗口程序,需要在线程内更新控件,用到的C#的委托模型。IT还真是个有趣的行业,新瓶装旧酒,层出不穷。

如何理解C#的委托模型?先从Windows的窗口机制说开去吧。窗口有自己的线程处理消息循环,C++编写窗口程序就需要与窗口消息打交道,并且,如果不是在消息循环中而是从别的线程中操作控件,比如绘图,个性标签等,就需要处理同步问题。

用C++写窗口程序的哪个没有定制过消息?哪个不知道那个著名的消息循环处理过程?又有几个不知道同步?

但在C#中, 窗口消息循环被隐含和抽象了,对于同步问题,则提供了一种叫做“委托”的方法来实现。当在另一线程中更新控件时,先检测控件是否可以被直接更新,如果是,则操作控件的属性,否则,就向控件增加调用信息。控件则在有闲时根据调用信息执行调用。这,就是委托。。。。。感觉怪怪的。申明委托原型,增加调用信息的手法,活脱脱来自于C++函数指针,写惯C++的人,再写C#,感觉好熟悉。

C#看来挺 有意思滴。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: