public delegate void TPXMessageProc(параметры);
................................
public void Example(параметры)
{
//
}
//использовать так:
TPXMessageProc newproc = new TPXMessageProc(Example);
//а потом
newproc(параметры);
Как сделать функию типом? (С#)
type TPXMessageProc = procedure(dwMsg:LongWord; dwSite:LongWord; strKey:ShortString); stdcall;
необходимо тоже самое, но только на C#... с делегатами нифига не получается
Мой ответ не компетентен, сам я с .НЕТом почти не роботал, но с того что читал в книгах - делегати ввели для того чтоб обезопасить вызов таких функций и скорее всего без делегатов тебе не обойтись.
Код:
typedef РЕЗУЛЬТАТ ТИП_ВЫЗОВА (*ИМЯ_ТИПА) (СПИСОК_ПАРАМЕТРОВ);
Пример:
typedef int __fastcall (*TnCompare_Voids) (const void *pItem1, const void *pItem2);
Цитата: kosfiz
вроде бы для твоего случая так, хотя с дотнетом пока плохова-то:
Код:
public delegate void TPXMessageProc(параметры);
................................
public void Example(параметры)
{
//
}
//использовать так:
TPXMessageProc newproc = new TPXMessageProc(Example);
//а потом
newproc(параметры);
................................
public void Example(параметры)
{
//
}
//использовать так:
TPXMessageProc newproc = new TPXMessageProc(Example);
//а потом
newproc(параметры);
инициализировать можно и по короче:
Код:
TPXMessageProc newproc = Example;