我觉得这是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纯的吗?
答案 0 :(得分:1)
我已经确认这是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.*;