Как избавиться от Evaluate с вызовом функции объекта

Я вызываю функцию через объект во время выполнения. В этом конкретном случае имя функции предоставляется через логику с другой страницы во время выполнения (функция существует в cfc). В настоящее время мы используем Evaluate, и это очень медленно. Я могу как-нибудь избавиться от этого? Я знаю, что могу использовать [] со структурой, но здесь я теряюсь. qryData — это объект запроса, который я передаю функции.

<cfset someData = Evaluate("objTicket.#arrayItem[ItemID].FunctionName#(qryData)")>
<!---this is how it would look like--->
<cfset someData = objTicket.getTickets(qryData)>

person CFML_Developer    schedule 07.10.2020    source источник
comment
Для будущих читателей я также включу blog.adamcameron.me/2013/08/.   -  person Shawn    schedule 08.10.2020


Ответы (1)


Это исправит это для вас?

<cfset someData = objTicket[arrayItem[ItemID].FunctionName](qryData)>
person rrk    schedule 07.10.2020