ActionScript / Flex: Por que as aplicam {falha, resultado} métodos de AsyncToken interna?
-
05-07-2019 - |
Pergunta
Como o título sugere, por isso são os métodos applyResult
e applyFault
de AsyncToken
marcada mx_internal
?
Houve algumas vezes que eu teria gostado de uso AsyncToken
no meu código, mas eu acabei re escrevendo-lo porque eu não quero forçar os clientes a use namespace mx_internal
.
Solução
Bem, como um lugar indicado no livedocs (eu acho) mx_internal
é usado para marcar as coisas no quadro que pode mudar ao longo do tempo (aparentemente eles pensaram C # e Java está fazendo isso errado com o material obsoleto). Quanto à razão exata pela qual esses métodos particulares são marcadas mx_internal
somente o desenvolvedor que marcou os conhece. Eles provavelmente conheceu um dia para discutir o assunto e que era algo assim: "Oi. O acesso queremos para esses métodos" "Eu não sei, nós queremos que eles sejam substituível"? "Não tenho certeza" "Ok, vamos fazê-los mx_internal
então". Houve muitos casos em que os métodos que deveria ter sido marcado protegidas foram marcados mx_internal
(ou privada, que é ainda pior, em alguns casos) em vez, e é uma das coisas mais irritantes no quadro flex.
Além disso, você está usando o namespace mx_internal
se você quer ou não, porque a maioria dos componentes na importação quadro que, por isso, se você usar os componentes do framework Flex, a sua construção já inclui-lo.
Outras dicas
Se você tinha construído essa classe que você gostaria de esconder a funcionalidade longe de usuários normais, como você não quer que eles erroneamente invocando os métodos, mas as classes internas que os criam precisa invocado eles, portanto, marcando-os como mx_internal faz muito sentido.