У Вас должен быть делегат сначала
delegate int Operation(int a, int b)
тогда, это становится:
public void InvokeMethod(Operation method, object target, object param)
{
method((int) target, (int) param);
}
Никакая потребность в любом вызове для Вызова.
Как с dbone я не уверен, почему Вам были бы нужны параметрические усилители [] массив. Вы разъяснили бы расширенное использование для параметрических усилителей?
кроме того, я должен буду исправить что-то в Вашем вопросе, хотя, потому что он вызовет ошибку компиляции: p
Также попробуйте:
BEGIN_MESSAGE_MAP(cDlgRun, CDialog)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST2, OnItemchangedList2)
END_MESSAGE_MAP()
/* ... */
void cDlgRun::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if ((pNMListView->uChanged & LVIF_STATE)
&& (pNMListView->uNewState & LVIS_SELECTED))
{
// do stuff...
}
}
djeidot в порядке.
Я просто хочу добавить, что нет OnSelectionChanged (), потому что ListView поддерживает множественный выбор (хотя это можно отключить). Следовательно, просмотр списка с одним выбором отправит вам два события: старый элемент не выбран И новый элемент выбран.