读别人代码发现通过control.invoke来调用方法

十八道胡同 十八道胡同 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
 _logonForm.Invoke(new Action<string>(_logonForm.SetErrorMessage), "正在连接读卡器");

与
_logonForm.SetErrorMessage("正在连接读卡器")

的区别是什么?好像不是异步的,而且invoke返回Object,还多一步拆箱装箱呢。

下面是invoke方法的注释:
   //
// 摘要:
// 在拥有控件的基础窗口句柄的线程上,用指定的参数列表执行指定委托。
//
// 参数:
// method:
// 一个方法委托,它采用的参数的数量和类型与 args 参数中所包含的相同。
//
// args:
// 作为指定方法的参数传递的对象数组。如果此方法没有参数,该参数可以是 null。
//
// 返回结果:
// System.Object,它包含正被调用的委托返回值;如果该委托没有返回值,则为 null。
public object Invoke(Delegate method, params object[] args);
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
十八道胡同
C# 111,128 成员 642,537 内容