是否可以编写一个带参数的getter?

时间:2011-05-25 09:12:09

标签: actionscript-3 puremvc

我在PureMVC的文档中发现了两个非常奇怪的代码:

public function get resultEntry( index:int ) : SearchResultVO
{
    return searchResultAC.getItemAt( index ) as SearchResultVO;
}

稍后:

var item:SearchResultVO = searchProxy.resultEntry( 1 );

(位于Best Practices [English],第38页底部和第39页顶部)

我一直以为getter一定不能接受参数(FDT确实告诉我“不允许使用getter的参数”),所以我想知道这里发生了什么。

这只是一个不幸的错字(意味着只是一个没有“获取”的正常功能)或一些隐藏的功能/伏都教?

1 个答案:

答案 0 :(得分:4)

通常,达到此目的的唯一方法如下:

public function getResultEntry( index:int ) : SearchResultVO
{
    return searchResultAC.getItemAt( index ) as SearchResultVO;
}

原因是 get 是保留的ActionScript关键字。事实上,它会将您的函数公开为公共属性,并且需要预定义的格式。

它出现在严格的非严格类型检查模式中,因此我猜测它是PureMVC文档中的拼写错误:)

我建议你给克里夫霍尔写一封电子邮件:P

干杯