我有一个C ++ / CLI应用程序 - 我使用MVVM模式 我经常希望将它的事件发布到主GUI。 我在GUI和按钮事件之间建立了连接,如果按钮事件被提出,我可以进行关闭对话 - 但我很难将语法从C#转换为C ++:
viewModel->OKButtonCommand += delegate
{
dialogResult = System::Windows::Forms::DialogResult::OK;
dlg->Close();
};
viewModel->CancelButtonCommand += delegate
{
dialogResult = System::Windows::Forms::DialogResult::Cancel;
dlg->Close();
};
答案 0 :(得分:3)
C ++ / CLI中没有匿名委托。您必须将委托转换为普通的类方法并以这种方式引用它。