我正在尝试实现数据网格视图控件,我收到此错误:错误C3352:'添加':指定的函数与委托类型'int(System :: Object ^)'
当我尝试这样做时:
delegate int AddDelegateTest(System::Object^);
if(ColourGridViewControl->InvokeRequired)
{
array<String^>^row1 = gcnew array<String^> {"red","blue","yellow","green","white"};
//This gives an error
AddDelegateTest^ hTest = gcnew AddDelegateTest(ColourGridViewControl->Rows, &System::Windows::Forms::DataGridViewRowCollection::Add);
this->BeginInvoke(hTest,row1);
}
我不确定是什么导致了这个错误。
非常感谢任何帮助
好的,所以我将委托声明更改为: delegate int AddDelegateTest(cli :: array ^); 错误消失但我现在得到一个运行时异常:
mscorlib.dll中出现未处理的“System.Reflection.TargetParameterCountException”类型异常附加信息:参数计数不匹配。
有谁知道为什么会这样?
感谢
答案 0 :(得分:0)
delegate int AddDelegateTest(array<Object^>^);
...
array<String^>^ row1 = gcnew array<String^> {"red","blue","yellow","green","white"};
AddDelegateTest^ hTest = gcnew AddDelegateTest(dataGridView1->Rows,
&System::Windows::Forms::DataGridViewRowCollection::Add);
array<Object^>^ args = gcnew array<Object^> { row1 };
this->BeginInvoke(hTest, args);