【问题标题】:Parameter count mismatch with Invoke call参数计数与 Invoke 调用不匹配
【发布时间】:2011-11-02 21:16:38
【问题描述】:

我尝试在线程执行中设置label 的新值,使用以下代码:

private void DoWork()
{
    Invoke( new SetLabelMethod(SetLabelValue), 
        new object[] { string.Format("running {0}({1})", nome, id) });
} 

调用函数:

th = new Thread(DoWork);
th.Start();

public delegate void SetLabelMethod(string msg);
private void SetLabelValue(string msg)
{
    label.Text = msg;
}   

它给了一个Parameter count mismatch 如何修复它?

【问题讨论】:

  • new object[] 的大括号在哪里? Invoke() 方法的签名是什么?是Control.Invoke(Delegate, Object[])???
  • Invoke的目标是什么?
  • 我在这里输入错误。
  • 你没有说Invoke的调用目标是什么。没有它,我们就被困住了。当您拨打Invoke 时,this 是什么?
  • 我放弃了。你还没说目标是什么。

标签: c# .net multithreading


【解决方案1】:

您发布的代码是正确的。哪一行代码抛出异常?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 2021-10-15
    • 2019-10-17
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多