这应该很简单!
我想创建一个匿名 Action<> 委托来执行 GUI 更新,我将从其他几个匿名委托(将在单独的线程上运行)调用它。
void Test() {
Action<string> invokeDisplay = new Action<string>(delegate(string Element) {
//Do a variety of things to my GUI depending on Element parameter
});
MethodInvoker opLong1 = new MethodInvoker(delegate() {
// Do long task
this.Invoke(invokeDisplay("long1"));
});
MethodInvoker opLong2 = new MethodInvoker(delegate() {
// Do long task
this.Invoke(invokeDisplay("long2"));
});
new Thread(new ThreadStart(opLong1)).Start();
new Thread(new ThreadStart(opLong2)).Start();
}
那么这条线的正确语法是什么?
this.Invoke(invokeDisplay("long1"));