4

我在 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 的参数”),所以我想知道这里发生了什么。

这只是一个不幸的错字(意味着只是一个没有“get”的正常功能)还是一些隐藏的功能/巫术?

4

1 回答 1

4

通常,实现此目的的唯一方法如下:

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

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

它发生在严格和非严格类型检查方式中,所以我猜这是 PureMVC 文档中的错字:)

我建议您然后给 Cliff Hall 写一封电子邮件:P

干杯

于 2011-05-25T09:17:11.717 回答