![](/img/trans.png)
[英]What does it mean when dotpeek fills a method with “// Stub method ('ret' instruction only)”
[英]What does this instruction mean?
我正在使用cefsharp构建个人浏览器。 一切都很好,但我有一个问题要问你。
这条指令是什么意思? 它以主窗体形式插入。 this.InvokeOnUiThreadIfRequired(() => urlTextBox.Text = browser.Address);
在项目中,我还有一个Control静态类,它实现了InvokeOnUiThreadIfRequired函数。
public static void InvokeOnUiThreadIfRequired(this Control control, Action action)
{
if (control.InvokeRequired)
{
control.BeginInvoke(action);
}
else
{
action.Invoke();
}
}
所以问题是: - 表单传递给函数的是什么? 我不明白() =>
的含义。 - 该功能作为参数接收什么?
有三个有趣的部分:
InvokeOnUiThreadIfRequired
:此代码可能会检查调用者是否在UI线程上。 由于不允许您从另一个线程更改UI而不是thr UI线程,因此此代码是必需的。
() =>
是一个lambda表达式,后面跟着一个匿名委托(投射在一个Action
,它实际上是一个没有参数且没有返回值的方法)来执行。 通过这种方式,您可以将对某些代码的调用传递给另一个方法。
InvokeOnUiThreadIfRequired
方法是一种扩展方法 。 它允许您将方法“附加”到您不拥有的另一种类型的实例,因为它是该类的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.