我在.NET 3.0中使用此代码

Action xx = () => button1.Text = "hello world";
this.Invoke(xx);

但是当我在.NET 2.0中尝试时,我认为Action的类型参数如下:
Action<T>

如何在.NET 2.0中实现第一个代码?

最佳答案

试试这个:

this.Invoke((MethodInvoker) delegate
{
    button1.Text = "hello world";
});

尽管.NET 2.0中引入了Action,但是您不能在.NET 2.0中使用lambda表达式() => ...语法。

顺便说一句,只要不使用lambda语法,您仍然可以在.NET 2.0中使用Action:
Action action = delegate { button1.Text = "hello world"; };
Invoke(action);

关于c# - 从C#2.0中的另一个线程更新控件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6400394/

10-12 19:53