如何摆脱使用对象函数调用的求值

问题描述

我在运行时通过对象调用函数在这种特定情况下,函数名称是在运行时通过另一个页面的逻辑提供的(该函数存在于cfc中)。目前,我们使用评估,这非常慢。有什么办法可以摆脱这个?我知道我可以在结构中使用[],但是在这里我迷路了。 qryData是我传递给函数查询对象。

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

解决方法

这为您解决了吗?

<cfset someData = objTicket[arrayItem[ItemID].FunctionName](qryData)>