2013-07-28 23 views
-2
private bool getWindowBool() { 
    bool myBool; 
    this.Invoke(new MethodInvoker(() => myBool = IsForegroundWindow)); 
    return myBool; 
} 

为什么不能正常工作?我将如何做我想达到的目标?需要设置bool与交叉线程

+2

你会得到什么错误? – JMK

回答

4

明确的分配。编译器不知道Invoke在这里意味着什么,并且它不会理解委托在方法结束之前被调用 - 所以它不能证明(在受限处理的情况下)它在返回之前被分配。更改为:

bool myBool = false;