我有 ac# 但代码,我需要它在 cli/c++ 中,但我总是得到这个错误
“错误 2 错误 C2955:'BaseLibCS::MethodInvoker':使用类泛型需要泛型参数列表”
“错误 4 错误 C2664: 'BaseLibCS::MethodInvoker::MethodInvoker(System::String ^,...cli::array ^)' : 无法将参数 1 从 'GetNotifications ^const' 转换为 'System::String ^' "
“错误 3 错误 C2102:'&' 需要左值”
“错误 1 错误 C2872:'MethodInvoker':不明确的符号”
这是我的 C# 代码:
private void HandleFarmStateChanged(object sender, ValueChangedEventArgs<CFarm.FarmState> e)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(delegate
{
HandleFarmStateChanged(sender, e);
}));
return;
}
//FarmStateStatusLabel.Text = e.NewValue.ToString();
Console.WriteLine(e.NewValue.ToString());
Console.WriteLine(" ");
}
这是我的 C++ 代码:
void GetNotifications::HandleFarmStateChanged(Object ^sender, ValueChangedEventArgs<CFarm::FarmState> ^e)
{
if (control->InvokeRequired)
{
control->Invoke(gcnew MethodInvoker(this,&GetNotifications::HandleFarmStateChanged(sender, e)));
//}));
return;
}
Console::WriteLine(e->NewValue.ToString());
Console::WriteLine(" ");
}