需要使用交叉线程设置布尔值

本文关键字:线程 设置 布尔值 | 更新日期: 2023-09-27 18:25:09

private bool getWindowBool() {
    bool myBool;
    this.Invoke(new MethodInvoker(() => myBool = IsForegroundWindow));
    return myBool;
}

为什么这不起作用?我将如何实现我想要实现的目标?

需要使用交叉线程设置布尔值

明确的赋值。编译器不知道 Invoke 在这里是什么意思,也不会试图理解委托在方法结束之前被调用 - 因此它无法证明(使用有限的处理(它是在返回之前分配的。更改为:

bool myBool = false;