![]() |
1
145
李的方法可以进一步简化
可以这样称呼
closure . 更新 :
更新2
请参阅下面ToolmakerSteve的评论,了解对该建议的关注。 |
![]() |
2
135
您可以编写一个扩展方法:
然后像这样使用它:
编辑:正如Simpzon在评论中指出的,您也可以将签名更改为:
|
![]() |
3
38
这是我在所有代码中使用的表单。
我是根据这篇博文写的
here
|
![]() |
4
10
创建一个ThreadSafeInvoke.snippet文件,然后只需选择更新语句,右键单击并选择“环绕…”或Ctrl-K+S:
|
![]() |
5
8
这是李、奥利弗和斯蒂芬答案的改进版/组合版。
该模板允许使用灵活且无强制转换的代码,这样更易于阅读,而专用的委托提供了效率。
|
![]() |
6
5
这在我开始使用单个全局实例委托时没有发生。
|
![]() |
7
5
代码:
|
![]() |
8
2
我喜欢做一些不同的事情,如果需要的话,我喜欢用行动来称呼“我自己”,
这是一个方便的模式,IsFormClosing是我在关闭表单时设置为True的字段,因为可能有一些后台线程仍在运行。。。 |
![]() |
9
-3
您永远不应该编写这样的代码:
如果您确实有这样的代码,那么您的应用程序就不是线程安全的。这意味着您的代码已经从另一个线程调用了DoGUISwitch()。现在检查它是否在另一个线程中已经太晚了。在调用DoGUISwitch之前,必须先调用InvokeRequest。您不应该从其他线程访问任何方法或属性。 Control.InvokeRequired Property
|
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
![]() |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
![]() |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
![]() |
rhymes · 如何让线程操作相同的java列表 2 年前 |