ActionScript / Flex:为什么AsyncToken的apply {Fault,Result}方法是内部的?

时间:2009-10-21 16:29:29

标签: flex actionscript asynctoken

正如标题所示,为什么applyResult的{​​{1}}和applyFault方法标记为AsyncToken

有几次我希望在我的代码中使用mx_internal,但我最终重写了它,因为我不想强迫客户端AsyncToken

2 个答案:

答案 0 :(得分:4)

如果你构建了这个类,你想要隐藏普通用户的功能,因为你不希望他们错误地调用这些方法,但创建它们的内部类需要调用它们,因此标记它们因为mx_internal很有道理。

答案 1 :(得分:1)

好吧,正如在liveocs中所说的那样(我认为)mx_internal用于标记框架中可能随时间变化的东西(显然他们认为C#和Java在使用已弃用的东西时做错了)。至于为什么这些特定方法被标记为mx_internal的确切原因,只有标记它们的开发人员知道。他们可能有一天会面讨论它,它就像是:“嘿。我们想要那些方法的访问权限”“我不知道,我们是否希望它们能够被覆盖?” “不确定”“好的,我们让他们mx_internal然后”。在许多情况下,应该标记为受保护的方法被标记为mx_internal(或私有,在某些情况下甚至更糟),而且它是flex框架中最烦人的事情之一。

此外,无论您是否需要,都使用mx_internal命名空间,因为框架中的大多数组件都会导入它,因此如果您使用flex框架组件,则您的构建已包含它。