Можно ли написать геттер, который принимает параметр? - PullRequest
4 голосов
/ 25 мая 2011

Я нашел два очень странных фрагмента кода в документации PureMVC:

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

и чуть позже:

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

(найдено в Best Practices [на английском языке], внизу страницы 38 и вверху страницы 39)

Я всегда думал, что геттеры не должны принимать параметр (и FDT действительно говорит мне, что "Параметры для геттеров недопустимы"), поэтому мне интересно, что здесь происходит.

Это просто неудачная опечатка (подразумевается, что это просто нормальная функция без «get») или какая-то скрытая функция / вуду?

1 Ответ

4 голосов
/ 25 мая 2011

Обычно единственный способ добиться этого заключается в следующем:

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

Причина в том, что get является зарезервированным ключевым словом ActionScript. Фактически он будет представлять вашу функцию как общедоступное свойство и ожидает предопределенный формат.

Это происходит как в строгом, так и в строгом режимах проверки типов, поэтому я предполагаю, что это опечатка в документации PureMVC:)

Я предлагаю вам написать письмо Клифф Холлу: P

Приветствия

...