gpt4 book ai didi

.net - 类型为 'System.Reflection.TargetParameterCountException' 的未处理异常

转载 作者:太空狗 更新时间:2023-10-29 21:28:41 25 4
gpt4 key购买 nike

我创建了一个 BeginInvoke,这样我就可以从非 UI 线程写入文本框。线程 A 调用一个在线程 A 的上下文中运行 testFunc 的委托(delegate)。 testFunc 然后执行一个 BeginInvoke,它运行空函数 ControlBoxDelegateMethod。如果删除了 BeginInvoke 行,程序就会运行。但如果它留在里面,我会得到以下异常:

mscorlib.dll 中出现类型为“System.Reflection.TargetParameterCountException”的未处理异常附加信息:参数计数不匹配。

        private:
//delegate void ControlBoxDelegate(Label^ myControl,int whichControl);
void ControlBoxDelegateMethod(Label^ myControl,int whichControl)
{
// myControl->Text = "Test!!!!!!!";
}
public:

void testFunc()
{
int which = 3;
local_long_textBox->BeginInvoke(gcnew ControlBoxDelegate
(this,&Form1::ControlBoxDelegateMethod),which);
}

任何人都可以阐明我在这里做错了什么吗?谢谢!

最佳答案

ControlBoxDelegateMethod 有两个参数(一个 Label^ 和一个 int),但你只传递一个(一个 int 命名为 which)。您缺少第一个参数。

所以,它应该是这样的:

local_long_textBox->BeginInvoke(gcnew ControlBoxDelegate(this,&Form1::ControlBoxDelegateMethod), your_label, which);

关于.net - 类型为 'System.Reflection.TargetParameterCountException' 的未处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6444566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com