我可以简单地使用委托,即使它可能不是必需的吗?

时间:2011-07-11 20:18:24

标签: c# multithreading

我可以简单地使用委托,即使它可能不是必需的吗?

1 个答案:

答案 0 :(得分:1)

致电Control.Invoke时,您无需检查InvokeRequired,它会为您检查。

来自同一个线程的

Control.BeginInvoke有时很有用,它会将调用放在消息队列的末尾,而不是立即生成。

你真正不清楚你在做什么来提出具体的建议。


查看示例代码,这就是您所需要的:

WirelessGreenLight.Invoke(new MethodInvoker(redGreenLight));

或者,如果您无法更改来电者:

public void redGreenLight()
{
    WirelessGreenLight.Invoke(new MethodInvoker(redGreenLightImpl));
}

private void redGreenLightImpl()
{
    // real work done here
}