通过查看以下内容,我感觉这是CF9中的错误:How to specify argument attributes in CFscript? (CF9)

但是,如果没有,我将在CF9中编写一个cfscript组件(纯),并尝试将参数作为用户定义的cfc类型传递。

public function init(required _lbr._core._sharing._access.accessLinkDAO oAccessLinkDAO) returntype="_lbr._core._sharing._access.accessLinkBusiness" {


但是CF一直在回升:

You cannot use a variable reference with "." operators in this context


CF9纯粹会破坏这一点吗?

最佳答案

我已经确认这是CF9.0中的错误(已在CF9.0.1或CF9.0.2中的一个中修复;可能是9.0.1)。

但是,修复很容易。问题仅在于虚线路径,正如@ScottStroz指出的那样,您不需要它们。这工作正常:

component {
    public accessLinkBusiness function init(required accessLinkDAO oAccessLinkDAO) {
        return this;
    }
}


我之所以移动了返回类型,仅仅是因为它只是它的正常位置:它也可以作为属性使用(但是这种语法太糟糕了)。

如果您要引用的CFC的返回类型或参数类型与使用它们的CFC不在同一个目录中,请使用import语句,例如,在这种情况下:

import _lbr._core._sharing._access.*;

07-24 21:35