一种奇怪的写法,求解答
private void m_OnOccurErr(int errCode)
{
this.SafeInvoke(() =>
{
switch (errCode)
{
case 1:
textBox4.Text = "等待超时错误!";
break;
case 2:
textBox4.Text = "获取状态错误!";
break;
default:
break;
}
});
}
public delegate void InvokeHandler();
public static void SafeInvoke(this Control control, InvokeHandler handler)
{
if (control.InvokeRequired)
{
control.Invoke(handler);
}
else
{
handler();
}
}
------解决方案--------------------那里奇怪啊,挺正常滴
public delegate void InvokeHandler();
public static void SafeInvoke(this Control control, InvokeHandler handler)//此处是扩展方法,对Control对象扩展一个safeInvoke方法,InvokeHandler则是委托
{
if (control.InvokeRequired)
{
control.Invoke(handler);
}
else
{
handler();
}
}
private void m_OnOccurErr(int errCode)
{
//此处调用那个扩展方法,()=> {xxx}则是匿名方法
this.SafeInvoke(() =>
{
switch (errCode)