ActionScript / Flex:为什么AsyncToken的apply {Fault,Result}方法是内部的?
-
05-07-2019 - |
题
正如标题所示,为什么 asyncToken
的 applyResult
和 applyFault
方法标记为 mx_internal
?
有几次我想在我的代码中使用 AsyncToken
,但我最终重写了它,因为我不想强迫客户端使用命名空间mx_internal
。
解决方案
好吧,正如在liveocs中所说的那样(我认为) mx_internal
用于标记框架中可能随时间发生变化的事情(显然他们认为C#和Java在使用已弃用时出错了东西)。至于为什么这些特定方法被标记为 mx_internal
的确切原因,只有标记它们的开发人员知道。他们可能有一天会讨论它,它就像是:“嘿。我们对这些方法有什么访问权限“ “我不知道,我们希望它们能够被覆盖吗?” “不确定” “好的,我们让他们 mx_internal
然后”。在许多情况下,应该标记为受保护的方法被标记为 mx_internal
(或私有,在某些情况下甚至更糟),而且它是flex框架中最烦人的事情之一。
此外,无论您是否需要,都使用 mx_internal
命名空间,因为框架中的大多数组件都会导入它,因此如果您使用flex框架组件,则您的构建已包含它。
其他提示
如果你构建了这个类,你想要隐藏普通用户的功能,因为你不希望他们错误地调用这些方法,但创建它们的内部类需要调用它们,因此标记它们因为mx_internal很有道理。
不隶属于 StackOverflow