ActionScript / Flex: почему применяются внутренние методы {Fault, Result} AsyncToken?

StackOverflow https://stackoverflow.com/questions/1601997

Вопрос

Как следует из заголовка, почему методы applyResult и applyFault для AsyncToken отмечены mx_internal ?

Несколько раз я хотел бы использовать AsyncToken в своем коде, но я переписал его, потому что не хочу заставлять клиентов использовать пространство имен mx_internal .

Это было полезно?

Решение

Ну, как указано где-то в liveocs (я думаю) mx_internal используется для маркировки вещей в структуре, которые могут со временем меняться (очевидно, они думали, что C # и Java делают это неправильно с устаревшими материал). Что касается точной причины, по которой эти конкретные методы помечены mx_internal , знает только разработчик, который их пометил. Они, вероятно, встретились однажды, чтобы обсудить это, и это выглядело примерно так: "Эй. Какой доступ мы хотим для этих методов " "Я не знаю, хотим ли мы, чтобы они были переопределенными?" " Не уверен " " Хорошо, давайте сделаем их mx_internal затем " ;. Было много случаев, когда методы, которые должны были быть помечены как защищенные, были помечены как mx_internal (или private, что даже хуже в некоторых случаях), и это одна из самых раздражающих вещей в гибкой среде.

Кроме того, вы используете пространство имен mx_internal независимо от того, хотите вы этого или нет, поскольку большинство компонентов в структуре импортируют его, поэтому, если вы используете компоненты Flex Framework, ваша сборка уже включает Это.

Другие советы

Если вы построили этот класс, вы хотели бы скрыть функциональность от обычных пользователей, поскольку вы не хотите, чтобы они ошибочно вызывали методы, но внутренние классы, которые их создают, должны вызывать их, поэтому отмечая их так как mx_internal имеет смысл.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top