2014-10-31 1 views
1

Я очень новичок в foxpro и должен работать. Мой вопрос в названии. Есть ли делегирование в foxpro? Могу ли я отправить функцию в качестве параметра?Есть ли делегирование в foxpro?

Edit:

К сожалению, есть много дубликатов в коде в проекте я работаю. Например, в коллекции есть тысячи элементов. Код выполняет итерацию и выполняет определенную работу для каждых 100 предметов. Это может быть отправкой электронной почты, отправкой смс, записью в файл и сохранением файла, пейджинга и т. Д. В коде для каждого задания есть цикл (каждый раз проверяя, соответствует ли локальная переменная count 100) и делает задание, если счетчик равен 100 (в конце также выполняется одно и то же задание для остатков). Мое намерение состоит в том, чтобы создать общий метод, выполняющий этот алгоритм. Его параметрами будут коллекция, функция делегата (и, возможно, целое число, ссылающееся на 100 в моем примере выше).

+1

Нет делегаций, о которых я знаю, например, в C#, которые вы можете разоблачить «события». Вы можете добавлять крючки в сообщения Windows. Можете ли вы прояснить, что вы пытаетесь предпринять? – DRapp

+0

Есть и другие трюки для имитации, но не уверены, как предлагать в качестве решения, не имея лучшего понимания того, что вы пытаетесь сделать. – DRapp

+0

@DRapp спасибо. Я сделал редактирование в вопросе, разъясняющем мое намерение. – serdar

ответ

1

Вы можете использовать функции EVALUATE(), EXECSCRIPT() и & для выполнения вызовов функций и/или других битов кода, содержащихся в строках. Разумеется, вам придется взвесить проблемы безопасности при выполнении произвольного кода. Вы не можете передать функцию в качестве параметра, но можете передать ее имя в виде строки, а затем вызвать ее, используя указанные мной команды.

+0

спасибо. Я не знал, что есть способ оценить строки. Я изучу эти функции. – serdar