代码之家  ›  专栏  ›  技术社区  ›  Segfault

跨线程调用编译问题

  •  2
  • Segfault  · 技术社区  · 14 年前

    s.run_button.Invoke((b) => { b.Enabled = false; },
     new object[] { s.run_button });
    

    Visual studio说明:无法将lambda表达式转换为类型“System.Delegate”,因为它不是委托类型

    2 回复  |  直到 14 年前
        1
  •  4
  •   JaredPar    14 年前

    System.Delegate . 这个 Invoke 系统代理

    s.run_button.Invoke(
      (Action<Button>)((b) => { b.Enabled = false; }), 
      new object[] { s.run_button });
    
        2
  •  2
  •   Kirk Woll    14 年前

    s.run_button.Invoke(new Action<Button>(b => b.Enabled = false), new object[] { s.run_button });