Метод передачи, созданный с отражением, как параметр Func

Вы могли попытаться сделать многопоточность.

Вы могли сделать на скорую руку сценарий, который делает системный вызов (использующий shell_exec), который называет php двоичный файл со сценарием, чтобы сделать Вашу работу как параметр. Но я не думаю, что это - самый безопасный путь. Возможно, Вы можете материал thighten chrooting процесс php и другой материал

, С другой стороны, существует класс в phpclasses, которые делают тот http://www.phpclasses.org/browse/package/3953.html . Но я не знаю специфических особенностей реализации

6
задан Kevin Dockx 11 December 2009 в 08:49
поделиться

2 ответа

Вы можете использовать Delegate.CreateDelegate , если типы подходят.

Например:

var func = (Func<bool>) Delegate.CreateDelegate(typeof(Func<bool>), mi);
MethodAcceptingFuncParam(func);

Обратите внимание, что если функция выполняется много раз в ] MethodAcceptingFuncParam , это будет намного быстрее, чем вызов mi.Invoke и приведение результата.

11
ответ дан 9 December 2019 в 20:44
поделиться

Используйте Invoke:

MethodAcceptingFuncParam(() => { return (bool)mi.Invoke(null, null); })
1
ответ дан 9 December 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: