Если у меня есть команда PowerShell...
$theEvent=Register-ObjectEvent -InputObject $theWatcher -EventName EventRecordWritten -SourceIdentifier $theId -Action { OnEvent $($args[$ONE]) }
Если «OnEvent» — это определенная функция, то вышеприведенное работает: когда событие срабатывает, настройка действия вызывает обратный вызов, передавая один параметр.
Однако мне нужно передать строковую переменную с именем определенной функции, сделать что-то вроде...
$theAction="OnEvent"
$theEvent=Register-ObjectEvent -InputObject $theWatcher -EventName EventRecordWritten -SourceIdentifier $theId -Action { $theAction $($args[$ONE]) }
Как это сделать? Очевидно, что '{' и '}' создают блок скрипта кода, но не уверен, как заставить его оценить строку '$theAction' и заменить указанную переменную указателем на функцию? Указание на функцию OnEvent?